diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index fabc47cde30..318461a9bc2 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -85,7 +85,9 @@ extraTests: cache-dependency-path: 'provider/go.sum' - name: go test run: | - cd upstream/shim + cd upstream + go get github.com/hashicorp/aws-sdk-go-base@v1.1.0 + cd shim go test -v -coverprofile="coverage.txt" . - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v3 diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index fe880d23795..307edf2526b 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -499,7 +499,9 @@ jobs: go-version-file: provider/go.mod - name: go test run: | - cd upstream/shim + cd upstream + go get github.com/hashicorp/aws-sdk-go-base@v1.1.0 + cd shim go test -v -coverprofile="coverage.txt" . - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 72bee107a48..feea4fc996e 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -424,7 +424,9 @@ jobs: go-version-file: provider/go.mod - name: go test run: | - cd upstream/shim + cd upstream + go get github.com/hashicorp/aws-sdk-go-base@v1.1.0 + cd shim go test -v -coverprofile="coverage.txt" . - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8754e3ff592..bc6c8bf77b6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -472,7 +472,9 @@ jobs: go-version-file: provider/go.mod - name: go test run: | - cd upstream/shim + cd upstream + go get github.com/hashicorp/aws-sdk-go-base@v1.1.0 + cd shim go test -v -coverprofile="coverage.txt" . - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index 457f84ee305..e30534ea2f9 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -416,7 +416,9 @@ jobs: go-version-file: provider/go.mod - name: go test run: | - cd upstream/shim + cd upstream + go get github.com/hashicorp/aws-sdk-go-base@v1.1.0 + cd shim go test -v -coverprofile="coverage.txt" . - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/examples/go.mod b/examples/go.mod index 4efa46bca6c..7158bf54cb6 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -3,7 +3,7 @@ module github.com/pulumi/pulumi-aws/examples/v6 go 1.21.0 require ( - github.com/aws/aws-sdk-go v1.45.24 + github.com/aws/aws-sdk-go v1.46.3 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 github.com/pulumi/pulumi-terraform-bridge/pf v0.18.3 github.com/pulumi/pulumi-terraform-bridge/testing v0.0.2-0.20230927165309-e3fd9503f2d3 @@ -24,8 +24,11 @@ replace ( github.com/pulumi/pulumi-aws/provider/v6 => ../provider ) +// This replace is copied from upstream/go.mod, and should be maintained only as long as upstream maintains the same replace. +replace github.com/hashicorp/terraform-plugin-log => github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb + require ( - cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go v0.110.7 // indirect cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.1 // indirect @@ -47,7 +50,7 @@ require ( github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c // indirect github.com/YakDriver/regexache v0.23.0 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect @@ -56,92 +59,92 @@ 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-v2 v1.21.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.21.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect - github.com/aws/aws-sdk-go-v2/config v1.18.44 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.42 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.11.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.19.1 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.13.43 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.19.2 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.22.6 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.55.2 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.16.6 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.58.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.16.7 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.38.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.18.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.17.5 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.20.0 // indirect github.com/aws/smithy-go v1.15.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.2.0 // indirect @@ -160,6 +163,7 @@ require ( github.com/emirpasic/gods v1.18.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect + github.com/gertd/go-pluralize v0.2.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.4.1 // indirect github.com/go-git/go-git/v5 v5.8.1 // indirect @@ -189,11 +193,11 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect + github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.5.1 // indirect + github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect @@ -297,7 +301,7 @@ require ( golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect golang.org/x/mod v0.13.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sync v0.4.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/term v0.13.0 // indirect @@ -306,11 +310,11 @@ require ( golang.org/x/tools v0.14.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.57.1 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect + google.golang.org/grpc v1.58.2 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/examples/go.sum b/examples/go.sum index 261f50fcb66..b4b47782af2 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -40,8 +40,8 @@ cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRY cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= -cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= -cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= @@ -734,8 +734,9 @@ github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:m github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c h1:kMFnB0vCcX7IL/m9Y5LO+KQYv+t1CQOiFe6+SV2J7bE= +github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -818,202 +819,206 @@ 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.45.24 h1:TZx/CizkmCQn8Rtsb11iLYutEQVGK5PK9wAhwouELBo= -github.com/aws/aws-sdk-go v1.45.24/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.46.3 h1:zcrCu14ANOji6m38bUTxYdPqne4EXIvJQ2KXZ5oi9k0= +github.com/aws/aws-sdk-go v1.46.3/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= -github.com/aws/aws-sdk-go-v2 v1.21.1 h1:wjHYshtPpYOZm+/mu3NhVgRRc0baM6LJZOmxPZ5Cwzs= github.com/aws/aws-sdk-go-v2 v1.21.1/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= +github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= +github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= -github.com/aws/aws-sdk-go-v2/config v1.18.44 h1:U10NQ3OxiY0dGGozmVIENIDnCT0W432PWxk2VO8wGnY= -github.com/aws/aws-sdk-go-v2/config v1.18.44/go.mod h1:pHxnQBldd0heEdJmolLBk78D1Bf69YnKLY3LOpFImlU= +github.com/aws/aws-sdk-go-v2/config v1.19.1 h1:oe3vqcGftyk40icfLymhhhNysAwk0NfiwkDi2GTPMXs= +github.com/aws/aws-sdk-go-v2/config v1.19.1/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= -github.com/aws/aws-sdk-go-v2/credentials v1.13.42 h1:KMkjpZqcMOwtRHChVlHdNxTUUAC6NC/b58mRZDIdcRg= -github.com/aws/aws-sdk-go-v2/credentials v1.13.42/go.mod h1:7ltKclhvEB8305sBhrpls24HGxORl6qgnQqSJ314Uw8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43 h1:LU8vo40zBlo3R7bAvBVy/ku4nxGEyZe9N8MqAeFTzF8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 h1:3j5lrl9kVQrJ1BU4O0z7MQ8sa+UXdiLuo4j0V+odNI8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12/go.mod h1:JbFpcHDBdsex1zpIKuVRorZSQiZEyc3MykNCcjgz174= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVENjgLTAwGgoeriLDD5C+YlQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89 h1:XPqSyw8SBSLMRrF9Oip6tQpivXWJLMn8sdRoAsUCQQA= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89/go.mod h1:OkYwM7gYm9HieL6emYtkg7Pb7Jd8FFM5Pl5uAZ1h2jo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92 h1:nLA7dGFC6v4P6b+hzqt5GqIGmIuN+jTJzojfdOLXWFE= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92/go.mod h1:h+ei9z19AhoN+Dac92DwkzfbJ4mFUea92xgl5pKSG0Q= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 h1:817VqVe6wvwE46xXy6YF5RywvjOX6U2zRQQ6IbQFK0s= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42/go.mod h1:oDfgXoBBmj+kXnqxDDnIDnC56QBosglKp8ftRCTxR+0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 h1:7ZApaXzWbo8slc+W5TynuUlB4z66g44h7uqa3/d/BsY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36/go.mod h1:rwr4WnmFi3RJO0M4dxbJtgi9BPLMpVBMX1nUte5ha9U= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 h1:quOJOqlbSfeJTboXLjYXM1M9T52LBXqLoTPlmsKLpBo= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44/go.mod h1:LNy+P1+1LiRcCsVYr/4zG5n8zWFL0xsvZkOybjbftm8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 h1:8JG9ny0BqBDzmtIzbpaN+eke152ZNsYKApFJ/q29Hxo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5/go.mod h1:kEDHQApP/ukMO9natNftgUN3NaTsMxK6jb2jjpSMX7Y= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 h1:3fWAJsw4dLG4eYKHL9lygUWbE0lD+/gkqQC1zmmdAig= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1/go.mod h1:thg9BfQH96QsZg9BMe30WS2av72ZAo7/lTfvUJqjK4s= -github.com/aws/aws-sdk-go-v2/service/account v1.11.6 h1:rLJgSm0IiJfY0X/J0GdwcOneke/OzbDWBNzdXdfOhkE= -github.com/aws/aws-sdk-go-v2/service/account v1.11.6/go.mod h1:AXOYHxUCLGx7OPK/cnYRK1tBXNENTyQ25YxS4Fm60Mg= -github.com/aws/aws-sdk-go-v2/service/acm v1.19.1 h1:xcrvCNWIb4uzlVVFjjDVvNeRvKPMcT0vPb3ezwNzH7w= -github.com/aws/aws-sdk-go-v2/service/acm v1.19.1/go.mod h1:KptofjTaHq44E4heGaSacYmmi2Hya/arRcyzw5Oy6ZI= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1 h1:ioS2SwCT3cNA6y0KKEozBJ+IoinrBiWuNbU6oGHpk6o= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1/go.mod h1:3hIsAH76MSJuhdbCI/axMDGDlXruT0r6Swo3/vtUAoo= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6 h1:wodMSnced6g4nzZzioDnA8htdEq/dReyyZBTQFGWx2I= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6/go.mod h1:xbR4FPxBw7W+POjVCu2hIO4t2Hv7/B3R6YXyGLKAXqw= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1 h1:raBk0al+3nOOn/cF70/qebleYfWuWw2WDy37CLd2mYA= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1/go.mod h1:tEPIXZTTCrnZDQQ0EaMVYSovQgVhyCGP03yilX6zjNI= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6 h1:atzpgSRdPS07BD0dUbScjXw5AsM8ncb1hwHrao38NTY= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6/go.mod h1:RMuRe6BfB79pUHdMg19y4v9K+AG01KWVvNZuriuOTyw= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1 h1:NL2HEgcchk/QTa9/8GgrZvmfvCwqCDknvzAOMuvANnU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1/go.mod h1:ZD/6Xew+gqhnRBg9iRXNYZOhp4BXKfqe7JRrtOnIh8s= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6 h1:FT5dlg2yptwtvZvvgRymO/hO4zpkCZzuGJqkhASQNDk= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6/go.mod h1:S+nhWbA1j7u+BUJUOzDB0gvzRtCePnnRmeLo+Jq4H58= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7 h1:IErCL7+1POimitUbC+Pi1cSHN6woitjJUJJG/u96WVg= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7/go.mod h1:t2eYkluO3K1dKdlfJElyq0ndHCJGozstu7XCB67+qrw= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1 h1:1zhuU/Adbs12tX2BOEnthjxh7yLAJvpUKx+4HMQosuI= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1/go.mod h1:iIpU0KfZVYtYG3toK8hXIo8dBGXKpL8O55OUpa/qRR4= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6 h1:GuOorggN3yzbxYzUN+Zw1zaWZqbPQ/cQeEqdVFmkp/s= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6/go.mod h1:DEwx85ig5tB4SRd6ctG7XbM9m+DYQOjezaxYOmmWmO8= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1 h1:nf1PaOiAkEEA4tqv+JSOEKO3fzAUoNGDV7HngPU8EQE= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1/go.mod h1:KpDYz9nyWhAP6y4c7xO2chvdF2Ax3wUHIK58VW4K9vc= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6 h1:LkWkBy2/jTexo+s9E+sc2YwaakyCy5iBhrihHk9OyZk= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6/go.mod h1:dz9teMP8i6dur+rcfmM4XnUCjz/HIKtDPomWugbLJvY= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1 h1:0T2cQq8v/CkGJMHdtBe18qAWRDNZD9jB0pr8Ly+UQGE= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1/go.mod h1:9Q9f9ST4lEaDFJfPIeGRj2rzgR3Phq+OcA+Xun9u4kI= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6/go.mod h1:Q0Hq2X/NuL7z8b1Dww8rmOFl+jzusKEcyvkKspwdpyc= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2 h1:5R7Sl/DwDC4nPrlGErsMf5XFCcnJ/l8UY6xLHb3siVI= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2/go.mod h1:VJG7AGbDMjEYpFSgwbBcAUT5W64siPAgnrNZViNKz8k= +github.com/aws/aws-sdk-go-v2/service/account v1.11.7 h1:77Y0z87uZbG7R3djQJhxLetw6dES7F2W3vmcXIMa0mc= +github.com/aws/aws-sdk-go-v2/service/account v1.11.7/go.mod h1:hIGpFtNvJLOEDfp9hqnRVYfah6i9JDKqpyh/EGxDw1U= +github.com/aws/aws-sdk-go-v2/service/acm v1.19.2 h1:M+BY1Sk+AcWg596Nz3MMX630a3vposBFDaTan+UD/Kk= +github.com/aws/aws-sdk-go-v2/service/acm v1.19.2/go.mod h1:Zx0vrYeKZEZIPnggUx09FdoXze1+2i6Od+lHsG/L3vU= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0 h1:lN+EsDRxYDYeRHYXZ+3uTSYeEhmXYULg5qBABSqVIrk= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0/go.mod h1:7bTOwXFz4+VxkDVB26d7TAhFKloGA3EtwtLAydyv1ek= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0 h1:pz81qsD+FxrrHOaNrfGSWbQ4cU6Dxj2I5tvlrLmgCUE= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0/go.mod h1:zEDWBhc3yodpWk3ZLDNPlTOZGNx0bGx90XQma07xR1Q= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2 h1:qt0XqbZAU+ZnaqQqvuafocTm/KPKIxf0GPRObbMvhGc= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2/go.mod h1:bbDwGddkt+EcDTY6PuJVKyXesjbQ61r7erTlBm+tIy4= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7 h1:XbzkTIZi+VwbpQHnWdSCPlnhKQo8upmObVHLBcJVx5s= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7/go.mod h1:UES6/e6TFF6cpex9s9ks+Zuup3Vf9HcL8kpcDXEV0QI= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2 h1:g2t+hNCOYWICWs0cQLXk86DnXQMXgx1omrAGEpF/d68= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2/go.mod h1:5ngOUsc/7/voqXQ5Mn5T5l9/rWopTMgu7hk+4Fl2AS4= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7 h1:d2tImK3KffYtFb0xVY4CQM0dqgGxxqB8HhlImdTVp7g= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7/go.mod h1:mbPhpQ0SRnwxVDYqHOLny+X3QozY1DBPbhBvtYtTlCw= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8 h1:ZNCHBGGFpOH1G0tJhpLjsWITXOuDZEOAwq5HN351aDc= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8/go.mod h1:RhrN9J+LVtEMjEQPZQyhnO4A0LiOKT732AHDy7sYsIc= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0 h1:STOjCDhbX5IPRG3lUVpc9mQv0o7ECZFDEMHUzCVwOjg= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0/go.mod h1:B10oKKFd10DeYPN8qYeXFtNCEGjSnZ60EG3FeGli8FA= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7 h1:x03mvMDVDdvH/Xk+U7kLaQJ3eA7kSYr0t5lbZgi0bnk= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7/go.mod h1:zvkBeCgksf5F/XOlNY6g34QOlo1dOUne9okw6gznZAI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2 h1:X9F5HmF5GELOsSwdu0cJFviemuVHqteYIIfpZZ7yvEI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2/go.mod h1:if6fmhug8f0CUqd7xHbxY8VsgLPRRXAs26/sbVJT9wc= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0 h1:erGB6hvk3Gala8lkpaGg5I6exnShvTLl7/Gmlt/NoaM= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0/go.mod h1:2m0QmkUL+PSwJ74GY+5xR3rgDUmjg9W629PMxsLvG68= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2 h1:PhSKGmHpNQ4zRWPd36fquIbrxRlp0ia8S7O3gR4ah74= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2/go.mod h1:JE7FKd3vLDLXxZK48NYQQNnMkqalW0TYYDYMtXO7AK4= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1 h1:TYq4EU2vEEluoaBG0RCPnbibSndTQSzlpbZdmT/YRcs= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1/go.mod h1:1EJb9/tJwI7iqiStZBcmHijQxcgp7dlPuD2YgoZIrJQ= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0 h1:3VsdIKjFmyXFkKV21tgn49/dxSziWhjnx3YbqrDofXc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0/go.mod h1:f2AJtWtbonV7cSBVdxfs6e68cponNukbBDvzc4WIASo= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1 h1:F6e5phPOifW0qc+w4J6PnaIlxyEzOip+NyeVG/iRij8= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1/go.mod h1:exMBYUp/JqcvnvfVn0bbImCqoTydKkDy/fPtUtO7sNs= -github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1 h1:CIA2kTKWTYppKLJhmVnx3v30YVe/jBYCPykKS1LPRJo= -github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1/go.mod h1:ErVuad9auI7UEavsc0D+PVLxWTuOSAcj4TytdfviG/w= -github.com/aws/aws-sdk-go-v2/service/fis v1.16.1 h1:BH0erAhqfybRTXGP7McZ+nKfA8l/jtH4Kf4gGDQpN0I= -github.com/aws/aws-sdk-go-v2/service/fis v1.16.1/go.mod h1:LZ0kH2huy9e8YU/PZY63VcvyPyPX/AMiBxSXp2PkDe4= -github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1 h1:nLEuWOegNCDMzwNTHjZObRtBZpD6m0l+0LCULvr4AyM= -github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1/go.mod h1:pZ02Flgy0T5GaNL5b1Qq9PYcaVAX6RY13+V7HF3iuHk= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6 h1:Y3M3R/oZeHUhzcIdv69ZH+cOrzLKJhVV/P2UfJ5n2ZI= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6/go.mod h1:z8dLyRwaqMxZRVh3kXtcE5XhJ6EODOge768oN/JVAJg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0 h1:4xtATQuR0qIvX+QTWHlgTUnwlDPNzHcvMsB+qkRSPRo= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0/go.mod h1:raUdIDoNuDPn9dMG3cCmIm8RoWOmZUqQPzuw8xpmB8Y= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2 h1:diyMrawOZ56CavFS//UFFjk2LY1ooXeTqAecXsjtXwI= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2/go.mod h1:ZrmnnT6zI3+0XsQIGCu/vXhIFk4Vwu4WKqeMDSzm4z4= +github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0 h1:gsitjGgLSd0hdfReRk+Lc6Rrcg7UMUIqe3eO1m61H5o= +github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0/go.mod h1:TKYYw/RwUTrm8/6qRvxtNZpAfzPJ0zrUJAWOrrreCpQ= +github.com/aws/aws-sdk-go-v2/service/fis v1.17.0 h1:zAsleap91sZkiLMQm0oB1ypNdGdSpAtCgRrBY35Fiwg= +github.com/aws/aws-sdk-go-v2/service/fis v1.17.0/go.mod h1:zLKsp8cB3L0gqEW4d8NG1cZwQeczg4HqqLm5/b9d8rs= +github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2 h1:3e1Y17V637Qx/9rZJZFpC1FR/lL3Js9IFwZCWCkxiIo= +github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2/go.mod h1:W5b9hqb4sCTIBOacfItRmL72QzvB2Qasq5tmJfn9BlQ= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7 h1:785/FmKD/qDYKW2adVxc4y3PIybe+U/qRI3zHe3quLw= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7/go.mod h1:HJh0/bNoBvtnowJ2m8TimynLgAfhuxSVw+tz7eorxQw= github.com/aws/aws-sdk-go-v2/service/iam v1.22.6 h1:AL1fgN3/LHI7WJMKx63Osvsmk3f+EyHIJme0DQFasog= github.com/aws/aws-sdk-go-v2/service/iam v1.22.6/go.mod h1:GM5AHRAQGBgA3U6n7HwpWZGCPyxKLCgM7JSSAuoUWU8= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3 h1:69H4rSAWb2ri/sMPfXK8Kkbqz/oO6DdM8vRiHziRXDc= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3/go.mod h1:JpmHPTBvVoZnVLzmhMpQZEzqnrZ5BvN5cgSeyWKDxQA= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8 h1:Em1eX4kFWSNvdwVBoDGFwMR2+S9AJhdPi9veiunw2Co= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8/go.mod h1:Y8wiIOrs8SCUVP0fqexWCu06br9jiaqugazQN/oAsYQ= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4 h1:ubNPVqOVw+TJ6jLfXxbchjRmWiQ5WLXi/c35/1XHqeQ= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4/go.mod h1:iCXR+ssQIxKT/EqO2G2UD2ZY9XiZxC3LO3o5W6VeKQA= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0 h1:QyhIBKR2ybHeRXAiKlvRo4uLZoT0pcGS7Cc6KmLpW68= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0/go.mod h1:wpOdgJi4x/PBXWpoSM4QRcqJomrSRf8Ynke8g5D3Tco= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 h1:7R8uRYyXzdD71KWVCL78lJZltah6VVznXBazvKjfH58= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15/go.mod h1:26SQUPcTNgV1Tapwdt4a1rOsYRsnBsJHLMPoxK2b0d8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 h1:Mx1zJlYbiUQANWT40koevLvxawGFolmkaP4m+LuyG7M= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37/go.mod h1:PjKIAMFthKPgG/B8bbRpo3F8jfr2q2L+w3u78jJ12a0= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36 h1:0ZzowXTZABVqnJnwDMlTDP3eeEkuP1r6RYnhSBmgK2o= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 h1:skaFGzv+3kA+v2BPKhuekeb1Hbb105+44r8ASC+q5SE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38/go.mod h1:epIZoRSSbRIwLPJU5F+OldHhwZPBdpDeQkRdCeY3+00= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36/go.mod h1:zAE5h/4VanzBpqyWoCZX/nJImdsqjjsGt2r3MtbKSFA= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37 h1:4LoizcvPT9A0tiAFhepxn0bGZXkzvN0pG0epydY3Pno= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37/go.mod h1:7xBUZyP6LeLc+5Ym9PG7atqw4sR28sBtYcHETik+bPE= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 h1:YXlm7LxwNlauqb2OrinWlcvtsflTzP8GaMvYfQBhoT4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36/go.mod h1:ou9ffqJ9hKOVZmjlC6kQ6oROAyG1M4yBKzR+9BKbDwk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 h1:sAAz28SeA7YZl8Yaphjs9tlLsflhdniQPjf3X2cqr4s= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5/go.mod h1:HC7gNz3VH0p+RvLKK+HqNQv/gHy+1Os3ko/F41s3+aw= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1 h1:4lgcY0bJwDlR+/EORGqFN0fQgxZRt7zfS4lFp2WqiNA= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1/go.mod h1:boJ8FNGtNY1pV+ktzjkk76MNR6JIhy9pNHOuiciqHVk= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1 h1:AENFPXfGAMysoJ2y0D4NzxWcaWBChfQLI1KiVe9gyXw= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1/go.mod h1:vpYM6NUGUdeNYoBfsN1qjVWQIB/k6nE8AqnPl+mxolw= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7 h1:NGrznOGbuAvTpHsrbH9OijoBEiDyr+KmQ1loLLMfCm0= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7/go.mod h1:Uk2AOsWjBQyFTb8gPh+MoCM55OKOq3fwt+OiO/0Jj54= -github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1 h1:W/0LQFNfBq+WlEEYTYLjGYBoTC6BXkzlIN+eCKNfBTA= -github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1/go.mod h1:Pf36PEiaoeLF4xSlfqWR8ZTS5kpuKvyn/IAZLZO8DPk= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6 h1:Px2IPr9lLGLaxcWYtTKQS6Uq7a7+mXO1gNdwdzRQkcM= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6/go.mod h1:180DaekP6ebtSjEgH9CwLChl9dTf3ppnZB0hbjGH/XY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2 h1:JD5IUr3CejC0kGxvnU8dxkl2k383n94QdUcxb2Vt+Nw= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2/go.mod h1:Dj1bgHF1Ikb61w1D9bXLypZfPD9vwojs7DUe+wurCL0= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2 h1:fs5s2FluB+7MxT9ciRYrYQjfPxfFAakFfHS+KpscQx4= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2/go.mod h1:ZMkzeFf1mD4t/D0astNbbdGBXrY6Xn0CqcQfq7znfao= +github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0 h1:25GTIbwI/L/zdNHTxzJDg4JiiLOnZBL2WZSj8UyK16M= +github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0/go.mod h1:n5GUmBbNhSLO2NMpODVwrfqqZWaP2cro4QXxamzU1RE= +github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0 h1:lr+JNpmf4zPFobZC192iiy+8KIesdEQXjmTGy4hJrEo= +github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0/go.mod h1:/OvU9HvHY03NYNI01IXJO8LLK/7AQOsK87byCDE+pQc= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7 h1:2CSLIVJSGMa5S6Og4M/Nx9AZLOs0xJVX/qmcj4YRL4E= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7/go.mod h1:s42chwUVdTwyeMFLFJ3RZVx/cQ8X2791JqHeKs39OcE= github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= -github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6 h1:7FEmwTkDkDE/kwG2zMLAsbtT9dqoSLMagQbHlj1jn9Y= -github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6/go.mod h1:knjlM/w5B2waA8ajK5Wjgr4CDDung+XPhq4mX0Lnuog= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6 h1:z+jd+zmp4yOy4NXnf1BafF4z3+nh4/hJDfUMvAYkODI= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6/go.mod h1:x77ANQLWCCovl9Bh5ErxN40j3CSsOiHWCnuCBRstAk4= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6 h1:DeOKrIWI8M9noiLqs6iN82go1wQvAEreqBhlfeTy8e4= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6/go.mod h1:WJyI7A91cJsTNCgMWabnbAffHi1lv98JB6YM3kNqNJQ= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6 h1:egi5EkmnxHBgS17lHO/vnp25fNWJr2czdKRWoCpyqGE= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6/go.mod h1:CEwzxzOcMNP3yBh3AmPq8GuDTVucXBiSlhUNYNUvL2I= -github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1 h1:V35Jr6Aker94WCzlchrHV62oRHrmHyulUlulutQKjoQ= -github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1/go.mod h1:R1OMa2V11Ji2bTZz4Bw4YPKKR3iAmsIdRS9GEalq3Uk= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4 h1:C8zcX+aPVNrri+MRBGkjjnRteisedgN1oYUJ9XFCcsY= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4/go.mod h1:CrIAMXAFICTbRZIymSYgMvCPiEx99WgckvKuJcYjMaA= -github.com/aws/aws-sdk-go-v2/service/oam v1.4.1 h1:BhLpb87aByUWX1x5ERmkXMa6p/bqE05ZwLkg6YxB6RY= -github.com/aws/aws-sdk-go-v2/service/oam v1.4.1/go.mod h1:F7D1NA9s0hR9NP2vZuh8RIUeRQlLtt7qbJsDY6DDkD0= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1 h1:+cbGcCXbXpHgGlvdyYDUhyQrXiRXV1Uxny4lE5fxPEI= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1/go.mod h1:Fq5Mxljf6cxQvepxkRXjhvJkEFS1o294bkI808Kk+pM= -github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2 h1:H2QURTJp7FrE87DnBalEEjJR4ed01LVIrg6E5zlNQUk= -github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2/go.mod h1:YISOhMmTXx73RosmN0IrtpUGyz+juRa8wiFlxBavufc= -github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8 h1:PMCSEyjOW81psvvcD9wRtScE/hzJNxBITJ32o42CUQg= -github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8/go.mod h1:Wz6ZULBcnjnHO59Br87w8I+W9HQSiu3VJ9tuI7DrzB8= -github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6 h1:FkGz9hoAU2J+EOgo6HZSSkorngoBA4cnVUaKivlgFXE= -github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6/go.mod h1:fgUIUS1lzEA2aXf3Av9Pr8LEZJ1mSQBDNA2EBXS4Wz4= -github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1 h1:auLeIKOX51YwB6sqYZYde1hgLqAecOQaQryRZSJ4fvY= -github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1/go.mod h1:i07AjvSm32uDSVmW5qQ3e82XnRivq4RlFgBd4Lbox3Y= -github.com/aws/aws-sdk-go-v2/service/rds v1.55.2 h1:dje4c9cNZY5bokl0YfT/xdXRg0mja1pUWijXLhab9y8= -github.com/aws/aws-sdk-go-v2/service/rds v1.55.2/go.mod h1:SKANU6tKVhn1wHbTSF0Bo6LFrAENtPfXG1DHyahqFyE= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6 h1:UpIGzyKcKqNsAAE+H57o4FxYn1lwkTkQCa7mc5euTFE= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6/go.mod h1:GM3w954QkzEAlPd0A1FS5514eNOzHx5z6uwJV+ncCow= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2 h1:2mfEZP1NEn+NryKAYp9lt3LGnR2KCZ9gdes4mwBVQ2E= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2/go.mod h1:02/O8Hp60veJmFEIePpMPwar604TqH2tv4JXtWodJPM= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1 h1:GS3AG4/DGb52hwMHUEIm19TgyksybwTEQmrXB24+UMg= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1/go.mod h1:B0xu5maKhY51P9GuWdVwaH0vkSOBzAhDR8hGaHxeb3Y= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1 h1:2xe2OR4ylFj5wwp5Ia/cVPKBu9VTVBlylukve+V67mA= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1/go.mod h1:oqX2Eg7cS4unN1aAHtK+nd//exXbB2dUzdgu7kZ5ePI= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7 h1:dRO8PxJbiaJeH9ahqrFUlZyJlVuk7ekxKjet53EUNYs= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7/go.mod h1:tcAxdUvNUGuQt/yCJsGc9wYdlOrFOOLp6TbepZp8k84= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4 h1:1uA3FBoMAcAPqb/TqI4dm9QgxmOJGXc8jnf3eaSgu9I= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4/go.mod h1:hxqmMdnrGjnzRY2has/lmletY1Exs/iKmzOLjvpMy/c= +github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0 h1:AQK0v7JA0stOOi1cNOq4n9N3X1a3N3A2Ezt3UEyHL9o= +github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0/go.mod h1:kFs07FNyTowZkz+dGBR33xJbzGs2mkC5Kfm6/lyR5CA= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0 h1:z5zCrHSiY/oFWR2tKYzHlKUEmSoiZ6nEc+v2hcRtdA0= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0/go.mod h1:dbmSa5HVnGr1MZwEi4okJLfx4Z7J8ur/cSwiBIgTkZg= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0 h1:Io+ezo97hWDmcg3tSMJbMoL1zd5zJ8BxK8Y8yB2Chfs= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0/go.mod h1:u2yl3D9ygNXthorLQOj2wmMPSxWBGZ+XTlkVbsK2Bh8= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0 h1:0nqFG7I3G+4JodX+pxIi++qi96EGSXAZxwPQYFDZI9c= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0/go.mod h1:xpU8ugTBGYX8Q2Oo0JeRsXUz22emMuKiNJs8N3GkByQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0 h1:0/fzOrxQrnMYs/apbFW0Pg155NWquYVQnNW2EC90lbg= +github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0/go.mod h1:lINBgPiWIs+HmltgiBaphp9vb6ARUbxqkf2iV5RG71s= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0 h1:C90hhUxpV3sTNEW4nHpbVLTrrkCaGy68LRM23F/XTX8= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0/go.mod h1:DX1RiU0NNEEKHsi6Qx17XICo4R63yV6ED8HRQXqZzRM= +github.com/aws/aws-sdk-go-v2/service/oam v1.4.2 h1:7yyahY9W1PT1f/YzJANF0Rcjt1iYv/Gfo1VVb5xMNlE= +github.com/aws/aws-sdk-go-v2/service/oam v1.4.2/go.mod h1:Xy10stQLwlkUqnDebKBrHJkiPgj4ifwo35kYwrSfhvI= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0 h1:i3dePKIcfgtcHWWWtt6861lsIPcVt8grtYMnD/d7pt0= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0/go.mod h1:FYUH57MkKKdCtmW/e7AVL4IDHdMA/u3N6yCkvcXlehM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3 h1:OgaiJYVLvgbPP46LUzZW1u0huJaSN8dc7XlEwPfTDg0= +github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3/go.mod h1:Q2dPlvCZoor/OzUVvQ3wLBOiSYGbEmXqSYYi6YaV5O0= +github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9 h1:SlhalyLhNxYXFXORYs/mfuSlmDzSgt2e950VhYzieB4= +github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9/go.mod h1:zynD2dnMorTN6tvTehY2L5mhOlxQkdI11djI1ljWQO4= +github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7 h1:lLP/LlzaI67MXKfyTVLox6HBKgB4XN8Ml6C9jYbhLWQ= +github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7/go.mod h1:po39i8aELtAKkN5FtMRzOhuOjEi6v/pwAS6FqRT4ags= +github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2 h1:69qtIi4V7ehV07agrcPnZY6Pq6ZkW+LAInuvyql2rIw= +github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2/go.mod h1:brD/m0i8L/zx56h8JRC1K+37C6fbom3boeSNPgY6t8M= +github.com/aws/aws-sdk-go-v2/service/rds v1.58.0 h1:ErFOugr4ORe+d6OGNk3Csr5ItF9DRcHJMFZnuh4isUM= +github.com/aws/aws-sdk-go-v2/service/rds v1.58.0/go.mod h1:NNx09yR8B7z4I5xTt2rUq+5h2lmA9T9bbm7NME/74Ac= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7 h1:jmA2Y9wChfXRi20BZhswSl8BMOBzIP4nj6umS7Dz1UU= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7/go.mod h1:CKZw7PAz+RoNy/k2ZOb+td+3gC6+WCQw6Xn1yROp1Mo= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3 h1:HSCkOqof4ks93+7tTl/dRysP4uFhNv7SOgLwN9J32MU= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3/go.mod h1:GsN589Hv8aU2bq3U4MCa4/O1McJC0SbBE+kLxAZ1xhI= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2 h1:ctIc24j6wZDc5VjKB/9CCuYXSSrU720/NtUNSYaWLvw= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2/go.mod h1:eKOu4v1YLHBywiUKFsAnz0xN5xH5DlCmEy6D/0c9fOg= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2 h1:03EH0RIXqyhwLZFjyJBG4hMTBw4rHMUtIESEwizxkg8= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2/go.mod h1:qqGaDe21Tbh/b9vRv61ykdn/JM/xQr78SL4nYfRzh4E= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8 h1:8UL7FZR1oUhQaSostFjWm4j4Wj3n46cER03dV5eGFWM= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8/go.mod h1:kBa2hmvLufUsdBMtAKmN9X464w1X+wlhJazsvFO+2wQ= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5 h1:18p6+HD6xj5oOtDNi1XvW0PkZw/xticjOvSbIWFyw6I= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5/go.mod h1:BhMj1pZPuQfzuS96s4ScniYr9qhPwDMA19N4eWPM1Lg= 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.40.1 h1:FqIaVPbs2W8U3fszl2PCL1IDKeRdM7TssjWamL6b2mg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1/go.mod h1:X0e0NCAx4GjOrKro7s9QYy+YEIFhgCkt6gYKVKhZB5Y= -github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1 h1:et+tylt0R4X5jGq++egvYrv2u7JCuB0ZhSlzHYdOwtw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1/go.mod h1:/qC7aNeoLJcZu2a90OnclO8VMz9QClZTDpG4AFLDSMA= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1 h1:Z1XsWjViyQrF7+VK4JECRdn/R6i1v6EsrBMEmzB0rf4= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1/go.mod h1:bcdKaS8+sUoa39w9x93KjohdT/TGdvJb/N+FFbYIcuI= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 h1:Ll5/YVCOzRB+gxPqs2uD0R7/MyATC0w85626glSKmp4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2/go.mod h1:Zjfqt7KhQK+PO1bbOsFNzKgaq7TcxzmEoDWN8lM0qzQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0 h1:C04Uf6qSXocZG79rsY3E4H95iMcEhldIqZEXnHpMmmQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0/go.mod h1:RCYpYoSEUpDfeQeZYHMFgY15cUNc/IbG06sF7IDSSO0= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2 h1:VYWFZZ2jYWRu0bZ5+nSJiToRrUd1MyQt5ox3MlA+VsU= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2/go.mod h1:vPsUqtS4023/mjhV5zyXUaGmCgBMomsPTPvJFhaPhZY= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1 h1:z/tG3vLlp7n1Ce2ZlJOiN3kd22JHqdkY4FYDrlfeA0k= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1/go.mod h1:GQnvIQbeFVfBbjrJ+K6r330ev3/XVD7Hy15byeiOkWo= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1 h1:Wzs47z3I1AOiUFZ2VvGw0tm1hChyO8BvYizXD4Tlcjs= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1/go.mod h1:xi6ausBg+Nd+0RNiVIcMCD4xoVV+VXyv/bZKEmMYDuE= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2 h1:3qYTIrsGBaxD8F6N+B0rx8OJSoS15GfT12UuhCTAumI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2/go.mod h1:NrZAizsqYf7fIXZP6sAcjV+jbW8yYwNDtHAxRC+mEMQ= -github.com/aws/aws-sdk-go-v2/service/signer v1.16.6 h1:df3gIYF9ViDrg5aUXDcey8x+r20GnVZUcp+MCmxIREA= -github.com/aws/aws-sdk-go-v2/service/signer v1.16.6/go.mod h1:qJTvAvexUNd2qquSHqdsH8nvcF7LdbQsdri0BuIiwxM= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2 h1:UWaB/MOz3+efoi5lbiqMGKlAQ13zM/N1RsU8oDoDp0k= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2/go.mod h1:bT7d8k/k7DbfzbDdOv4IiiBpvPiet4aDpocpxeB0AtQ= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2 h1:7dfERjekFyE/OAd4ZyA+EpW/8CW/aL2ou3yOgNyigqk= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2/go.mod h1:N5a9dNF+SH34X/nWhpUePVebcnNRa0A2W4IByMpB3gg= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0 h1:4iHtFr1ZsqFJK03vJqaZFUcg2fJeiCTdnwuBH6U64os= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0/go.mod h1:xrSmtekhLtdb13dQGTnGkCtuvk4tkS12m8UVtZn2NZE= +github.com/aws/aws-sdk-go-v2/service/signer v1.16.7 h1:dqT9OiL6KP8byHMxz3+VfVBrhYqe37lfD4hG6E2MtVU= +github.com/aws/aws-sdk-go-v2/service/signer v1.16.7/go.mod h1:vUcaaoXjmmxEXOyhhq4NyLB87H1hDjYoq9rhAEv7Ez4= github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6 h1:gOp27f7sRnebYZmBTEU9SshxNmUSZpLxwhEbR4B7IG0= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6/go.mod h1:hG0BRoUOVHMQDcMWnZx4rC0NBbxxvYa4zMPdh7kxI/w= 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.38.1 h1:jkHph1+6MkoWuccP79ITWu8BsiH2RIFiviLoJOrS3+I= -github.com/aws/aws-sdk-go-v2/service/ssm v1.38.1/go.mod h1:8SQhWZMknHq72Fr4HifgriuZszL0EQRohngHgGgRfyY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1 h1:LkzaII/E99ZTc48TfZ178n6QgUUe2OpLPNx6vF2DnL4= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1/go.mod h1:fXUA6xdu9Ar+ZUS/SUKNXmREnJGJd+ct78FFS/WidqM= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1 h1:6Oy7VwSfEPch7wxBRSdJk60e9uBz+uUIi0KvsilAYA8= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1/go.mod h1:hFK9kL+6cX4M3KXoQXOCCnQP/iQ/ZjOUDiseQZWUD9c= +github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0 h1:DHZFzwbFXlfw15I0ERlTVB/YH9iHNr2C1axjRpB7/Gg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0/go.mod h1:qpnJ98BgJ3YUEvHMgJ1OADwaOgqhgv0nxnqAjTKupeY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2 h1:2lPwcd4q0u9QYrt3DgitFx1OO0q/rrLMngTDUCJ59os= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2/go.mod h1:AXw7Qt+vLe1WHqoyBmEnNBGXdKqP7h1aXM+y8Guipc4= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2 h1:UtLWhmsg8CQUcUH+XFDXu7btMcmkHvLujkr2YjPaJCY= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2/go.mod h1:MEWDMHSX38CfNrfa8j64GxgenjpySPOGDxyNIFEqwr4= github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 h1:ZN3bxw9OYC5D6umLw6f57rNJfGfhg1DIAAcKpzyUTOE= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.1/go.mod h1:PieckvBoT5HtyB9AsJRrYZFY2Z+EyfVM/9zG6gbV8DQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 h1:fSCCJuT5i6ht8TqGdZc5Q5K9pz/atrf7qH4iK5C9XzU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2/go.mod h1:5eNtr+vNc5vVd92q7SJ+U/HszsIdhZBEyi9dkMRKsp8= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 h1:ASNYk1ypWAxRhJjKS0jBnTUeDl7HROOpeSMu1xDA/I8= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.1/go.mod h1:2cnsAhVT3mqusovc2stUSUrSBGTcX9nh8Tu6xh//2eI= -github.com/aws/aws-sdk-go-v2/service/swf v1.17.4 h1:C9kYSI8M4s4nWGqyLLVjappbBuf9ckY49f9p/3t6nwY= -github.com/aws/aws-sdk-go-v2/service/swf v1.17.4/go.mod h1:gKxgDhvUcMktase1gvNt4EdWl9uzSnUsqgwwhfUGkPE= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1 h1:vR4rTWTQkzqDqnYbafOdKxSEpoTPtMpU4ga83nMgdAY= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1/go.mod h1:085nMFR23/NB91pGEOxJeNJsgk2tIu/CbBxPQJXDBuw= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6 h1:b3v0V0bS8VX0YCg+NcVZYJtBwJJFELwtJtcvKeWwOCk= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6/go.mod h1:jB3ccZlCktNZaK4Db1RUxgPsieWWqd4FxFidaJvrmRY= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2 h1:9xtkwhrvGMgIYuyO2tYrnRH979MgVQj17K1YFZSKgMA= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2/go.mod h1:t3lH38by/71ZUuMH8Q29yxSr2sbiSvUyylQ/pvDnLD0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1 h1:maF3kTtf7OolW7IPTbpzJbCK31O3KIro9UpgEVZkBz0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1/go.mod h1:LDJAbHPeQVxIV5PahqSQ+8SdLX8qAOp8h1aMSBZU8F4= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 h1:+gN/oR6jT53ggl+jd/7wO4A7u9r1GLCpMiRiatD79WQ= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1/go.mod h1:56TIMTOeThR8Ep+O82yxpTuGzCOzZuo3XmsJXxukgUo= -github.com/aws/aws-sdk-go-v2/service/xray v1.18.1 h1:uyEzztY4I3q5es2Lm6Qyo0PjhOFDgO1o0V25Zv/yKIU= -github.com/aws/aws-sdk-go-v2/service/xray v1.18.1/go.mod h1:8M2/Dnh7fUkO7K5V70JHuFH5mp70Y2q0cbfbppj0TzI= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= +github.com/aws/aws-sdk-go-v2/service/swf v1.17.5 h1:MR6A/XkUKAkaRuUiuLHcZPgjCB+o9iRxBBSym7pVDek= +github.com/aws/aws-sdk-go-v2/service/swf v1.17.5/go.mod h1:yQR+w4YfnXyKeDIIFX3tDZ1wndz+VESqcEJN5cFIjSI= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0 h1:Z1kRc8lKJdhLxtx4HT65O1GTtH+ohKmBWqObQOwJ3F0= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0/go.mod h1:7bY9UbR+qbrj3nSV1IxGol1OLA1fM5dZQ4y97FF1zvA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0 h1:kTRJ0ZloHKzGchHa5REs7pGVeaxqR00r5R5TOKQE6rU= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0/go.mod h1:JfI0OCCqM779RRoXNL8829r6i9ItxodDcm8VjA9uifY= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0 h1:nDGWTtrIRyvGtfmd4DBddauFZnoyhl9dalOfPa0OPCs= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0/go.mod h1:mbAnBP22I0U/b2iK7aQKvv7FlWgF+YScoLoOw7njjt0= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2 h1:EBqXw8PnMWXoWgSuoM1KgzCHZw7RCmOFJOrFZNv8wdM= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2/go.mod h1:RQBqiF63AQ7bu3qVkreCMIQtnodEafCbCsMM3GK6FSQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3 h1:2eetvB/mGjlHV4jmz5bCtOK8/TaVbNgqJF0mmDZS5Ko= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3/go.mod h1:/RuGfv7gjDalR0ep9ZwiPTkLVrlGX65VDubzeTssrE4= +github.com/aws/aws-sdk-go-v2/service/xray v1.20.0 h1:PRn/UykuiRp7FptdntY89wLbcBHwNToarq2NoPd/qXs= +github.com/aws/aws-sdk-go-v2/service/xray v1.20.0/go.mod h1:FVEAranUTitntkgI5wg0kQofo6y2O5clJixXTJA2zqU= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8= github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1350,8 +1355,12 @@ github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb h1:HM67IMNxlkqGxAM5ymxMg2ANCcbL4oEr5cy+tGZ6fNo= +github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/gertd/go-pluralize v0.2.1 h1:M3uASbVjMnTsPb0PNqg+E/24Vwigyo/tvyMTtAlLgiA= +github.com/gertd/go-pluralize v0.2.1/go.mod h1:rbYaKDbsXxmRfr8uygAEKhOWsjyrrqrkHVpZvoOp8zk= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -1710,8 +1719,9 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 h1:Ud/6/AdmJ1R7ibdS0Wo5MWPj0T1R0fkpaD087bBaW8I= +github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= @@ -1738,8 +1748,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= +github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= @@ -1811,8 +1822,6 @@ github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEz github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= -github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= -github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= github.com/hashicorp/terraform-plugin-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= @@ -1854,8 +1863,9 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= +github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -2916,8 +2926,8 @@ golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -3338,8 +3348,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3491,16 +3502,16 @@ google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOl google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb h1:XFBgcDwm7irdHTbz4Zk2h7Mh+eis4nfJEFQFYzJzuIA= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 h1:N3bU/SQDCDyD6R528GJ/PwW9KjYcJA3dgyH+MovAkIM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3553,8 +3564,8 @@ google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5v google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= -google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch b/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch index eaf7a3fc80b..f5a16adda94 100644 --- a/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch +++ b/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch @@ -1,11 +1,8 @@ -From e4e0106591857ef40f895a3bf1e3366b1fb76572 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 16:49:08 +0000 Subject: [PATCH 01/30] Add TagsSchemaTrulyComputed definition ---- - internal/tags/tags.go | 8 ++++++++ - 1 file changed, 8 insertions(+) diff --git a/internal/tags/tags.go b/internal/tags/tags.go index 12d3b9013e..bc9e14fc19 100644 @@ -23,6 +20,3 @@ index 12d3b9013e..bc9e14fc19 100644 + Elem: &schema.Schema{Type: schema.TypeString}, + } +} --- -2.39.1 - diff --git a/patches/0002-Conns-user-agent.patch b/patches/0002-Conns-user-agent.patch index c85d74e66e9..d206b32d270 100644 --- a/patches/0002-Conns-user-agent.patch +++ b/patches/0002-Conns-user-agent.patch @@ -1,13 +1,10 @@ -From 1aa0fafec51b51198bda594de81fe452bd593123 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:03:31 +0000 Subject: [PATCH 02/30] Conns user agent Replace the useragent used for AWS client connections with a Pulumi-flavoured one. ---- - internal/conns/conns.go | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/conns/conns.go b/internal/conns/conns.go index 954266ba7a..404a654792 100644 @@ -35,6 +32,3 @@ index 954266ba7a..404a654792 100644 }, } } --- -2.39.1 - diff --git a/patches/0003-Add-S3-legacy-bucket-to-resources.patch b/patches/0003-Add-S3-legacy-bucket-to-resources.patch index ab8fe684718..b8da8903054 100644 --- a/patches/0003-Add-S3-legacy-bucket-to-resources.patch +++ b/patches/0003-Add-S3-legacy-bucket-to-resources.patch @@ -1,4 +1,4 @@ -From 6890fd0d90ed5c4defe13873a5585bc16e36009f Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:05:11 +0000 Subject: [PATCH 03/30] Add S3 legacy bucket to resources @@ -12,97 +12,12 @@ https://github.com/pulumi/terraform-provider-aws/pull/65. In the upstream, all resources and datasources now use a different scheme for registration: see https://github.com/hashicorp/terraform-provider-aws/pull/29717. ---- - go.mod | 2 + - go.sum | 6 + - internal/provider/provider.go | 6 +- - internal/service/s3legacy/bucket_legacy.go | 3029 +++++++++++++++++ - internal/service/s3legacy/enum.go | 32 + - internal/service/s3legacy/errors.go | 8 + - internal/service/s3legacy/generate.go | 4 + - internal/service/s3legacy/hosted_zones.go | 45 + - internal/service/s3legacy/object.go | 177 + - internal/service/s3legacy/retry.go | 30 + - internal/service/s3legacy/tags.go | 174 + - internal/service/s3legacy/tags_gen.go | 38 + - internal/service/s3legacy/wait.go | 18 + - website/docs/r/s3_bucket_legacy.html.markdown | 575 ++++ - 14 files changed, 4143 insertions(+), 1 deletion(-) - create mode 100644 internal/service/s3legacy/bucket_legacy.go - create mode 100644 internal/service/s3legacy/enum.go - create mode 100644 internal/service/s3legacy/errors.go - create mode 100644 internal/service/s3legacy/generate.go - create mode 100644 internal/service/s3legacy/hosted_zones.go - create mode 100644 internal/service/s3legacy/object.go - create mode 100644 internal/service/s3legacy/retry.go - create mode 100644 internal/service/s3legacy/tags.go - create mode 100644 internal/service/s3legacy/tags_gen.go - create mode 100644 internal/service/s3legacy/wait.go - create mode 100644 website/docs/r/s3_bucket_legacy.html.markdown -diff --git a/go.mod b/go.mod -index 3a9bb8ddd3..7fbef27e45 100644 ---- a/go.mod -+++ b/go.mod -@@ -2,6 +2,8 @@ module github.com/hashicorp/terraform-provider-aws - - go 1.20 - -+require github.com/hashicorp/aws-sdk-go-base v1.1.0 -+ - require ( - github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 - github.com/YakDriver/regexache v0.23.0 -diff --git a/go.sum b/go.sum -index 961b3f0b77..a8f8fa0c03 100644 ---- a/go.sum -+++ b/go.sum -@@ -22,6 +22,7 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmms - github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= - github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= - github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -+github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= - github.com/aws/aws-sdk-go v1.45.24 h1:TZx/CizkmCQn8Rtsb11iLYutEQVGK5PK9wAhwouELBo= - github.com/aws/aws-sdk-go v1.45.24/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= - github.com/aws/aws-sdk-go-v2 v1.21.1 h1:wjHYshtPpYOZm+/mu3NhVgRRc0baM6LJZOmxPZ5Cwzs= -@@ -229,6 +230,7 @@ github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= - github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= - github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= - github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= - github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= - github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -@@ -249,6 +251,8 @@ github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= - github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= - github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 h1:IUypt/TbXiJBkBbE3926CgnjD8IltAitdn7Yive61DY= - github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0/go.mod h1:cdTE6F2pCKQobug+RqRaQp7Kz9hIEqiSvpPmb6E5G1w= -+github.com/hashicorp/aws-sdk-go-base v1.1.0 h1:27urM3JAp6v+Oj/Ea5ULZwuFPK9cO1RUdEpV+rNdSAc= -+github.com/hashicorp/aws-sdk-go-base v1.1.0/go.mod h1:2fRjWDv3jJBeN6mVWFHV6hFTNeFBx2gpDLQaZNxUVAY= - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.37 h1:cpyObAk6869M/kROO/b9F14d8zyLbO3H7Fxqxn8J7DI= - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.37/go.mod h1:9OxAOakW2pTtcX5bQMIEXwKjSJbpTNhumMCppJ4EaGw= - github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.38 h1:eTdtMVp6z9iqxsh9yvWFM4I+a/cy2c4BQgqnx0JSL08= -@@ -320,6 +324,7 @@ github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+h - github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= - github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= - github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= -+github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= - github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= - github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= - github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -@@ -440,6 +445,7 @@ golang.org/x/mod v0.13.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-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= - golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= - golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= - golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= - golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index 81932c8792..69bbdaa6ec 100644 +index 0bcb6d6a98..2bc27a3348 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go -@@ -12,6 +12,8 @@ import ( +@@ -13,6 +13,8 @@ import ( "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" @@ -124,10 +39,10 @@ index 81932c8792..69bbdaa6ec 100644 provider.ConfigureContextFunc = func(ctx context.Context, d *schema.ResourceData) (interface{}, diag.Diagnostics) { diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go new file mode 100644 -index 0000000000..27fe651a83 +index 0000000000..fd117b2971 --- /dev/null +++ b/internal/service/s3legacy/bucket_legacy.go -@@ -0,0 +1,3029 @@ +@@ -0,0 +1,3030 @@ +package s3legacy + +import ( @@ -150,7 +65,8 @@ index 0000000000..27fe651a83 + "github.com/aws/aws-sdk-go/service/s3" + "github.com/aws/aws-sdk-go/service/s3/s3manager" + "github.com/hashicorp/aws-sdk-go-base/tfawserr" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/structure" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" @@ -186,7 +102,7 @@ index 0000000000..27fe651a83 + Optional: true, + ForceNew: true, + ConflictsWith: []string{"bucket"}, -+ ValidateFunc: validation.StringLenBetween(0, 63-resource.UniqueIDSuffixLength), ++ ValidateFunc: validation.StringLenBetween(0, 63-id.UniqueIDSuffixLength), + }, + + "bucket_domain_name": { @@ -807,9 +723,9 @@ index 0000000000..27fe651a83 + if v, ok := d.GetOk("bucket"); ok { + bucket = v.(string) + } else if v, ok := d.GetOk("bucket_prefix"); ok { -+ bucket = resource.PrefixedUniqueId(v.(string)) ++ bucket = id.PrefixedUniqueId(v.(string)) + } else { -+ bucket = resource.UniqueId() ++ bucket = id.UniqueId() + } + d.Set("bucket", bucket) + @@ -846,16 +762,16 @@ index 0000000000..27fe651a83 + req.ObjectLockEnabledForBucket = aws.Bool(true) + } + -+ err := resource.Retry(5*time.Minute, func() *resource.RetryError { ++ err := retry.Retry(5*time.Minute, func() *retry.RetryError { + _, err := conn.CreateBucket(req) + if awsErr, ok := err.(awserr.Error); ok { + if awsErr.Code() == "OperationAborted" { -+ return resource.RetryableError( ++ return retry.RetryableError( + fmt.Errorf("Error creating S3 bucket %s, retrying: %s", bucket, err)) + } + } + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + + return nil @@ -989,19 +905,19 @@ index 0000000000..27fe651a83 + Bucket: aws.String(d.Id()), + } + -+ err := resource.Retry(bucketCreatedTimeout, func() *resource.RetryError { ++ err := retry.Retry(bucketCreatedTimeout, func() *retry.RetryError { + _, err := conn.HeadBucket(input) + + if d.IsNewResource() && tfawserr.ErrStatusCodeEquals(err, http.StatusNotFound) { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + + if d.IsNewResource() && tfawserr.ErrCodeEquals(err, s3.ErrCodeNoSuchBucket) { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + + return nil @@ -1605,13 +1521,13 @@ index 0000000000..27fe651a83 + Policy: aws.String(policy), + } + -+ err := resource.Retry(1*time.Minute, func() *resource.RetryError { ++ err := retry.Retry(1*time.Minute, func() *retry.RetryError { + _, err := conn.PutBucketPolicy(params) + if tfawserr.ErrMessageContains(err, "MalformedPolicy", "") || tfawserr.ErrMessageContains(err, s3.ErrCodeNoSuchBucket, "") { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + return nil + }) @@ -2323,13 +2239,13 @@ index 0000000000..27fe651a83 + } + log.Printf("[DEBUG] S3 put bucket replication configuration: %#v", i) + -+ err := resource.Retry(1*time.Minute, func() *resource.RetryError { ++ err := retry.Retry(1*time.Minute, func() *retry.RetryError { + _, err := conn.PutBucketReplication(i) + if tfawserr.ErrMessageContains(err, s3.ErrCodeNoSuchBucket, "") || tfawserr.ErrMessageContains(err, "InvalidRequest", "Versioning must be 'Enabled' on the bucket") { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + return nil + }) @@ -2384,7 +2300,7 @@ index 0000000000..27fe651a83 + if val, ok := r["id"].(string); ok && val != "" { + rule.ID = aws.String(val) + } else { -+ rule.ID = aws.String(resource.PrefixedUniqueId("tf-s3-lifecycle-")) ++ rule.ID = aws.String(id.PrefixedUniqueId("tf-s3-lifecycle-")) + } + + // Enabled @@ -3455,7 +3371,7 @@ index 0000000000..f44b435af6 +} diff --git a/internal/service/s3legacy/retry.go b/internal/service/s3legacy/retry.go new file mode 100644 -index 0000000000..0dab58b0a3 +index 0000000000..dcf7e39759 --- /dev/null +++ b/internal/service/s3legacy/retry.go @@ -0,0 +1,30 @@ @@ -3463,7 +3379,7 @@ index 0000000000..0dab58b0a3 + +import ( + "github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "time" +) @@ -3471,14 +3387,14 @@ index 0000000000..0dab58b0a3 +// FORK: Adding the retryOnAWSCode to the fork for the old AWS S3 Logic +func retryOnAWSCode(code string, f func() (interface{}, error)) (interface{}, error) { + var resp interface{} -+ err := resource.Retry(2*time.Minute, func() *resource.RetryError { ++ err := retry.Retry(2*time.Minute, func() *retry.RetryError { + var err error + resp, err = f() + if err != nil { + if tfawserr.ErrCodeEquals(err, code) { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + return nil + }) @@ -3491,7 +3407,7 @@ index 0000000000..0dab58b0a3 +} diff --git a/internal/service/s3legacy/tags.go b/internal/service/s3legacy/tags.go new file mode 100644 -index 0000000000..543d41715a +index 0000000000..669813747b --- /dev/null +++ b/internal/service/s3legacy/tags.go @@ -0,0 +1,174 @@ @@ -3509,7 +3425,7 @@ index 0000000000..543d41715a + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/service/s3" + "github.com/hashicorp/aws-sdk-go-base/tfawserr" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" +) @@ -3595,18 +3511,18 @@ index 0000000000..543d41715a + + var output *s3.GetObjectTaggingOutput + -+ err := resource.Retry(1*time.Minute, func() *resource.RetryError { ++ err := retry.Retry(1*time.Minute, func() *retry.RetryError { + var err error + output, err = conn.GetObjectTagging(input) + if awsErr, ok := err.(awserr.Error); ok { + if awsErr.Code() == "NoSuchKey" { -+ return resource.RetryableError( ++ return retry.RetryableError( + fmt.Errorf("getting object tagging %s, retrying: %w", bucket, err), + ) + } + } + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + + return nil @@ -4318,6 +4234,3 @@ index 0000000000..529368067d +``` + +The `policy` argument is not imported and will be deprecated in a future version of the provider. Use the `aws_s3_bucket_policy` resource to manage the S3 Bucket Policy instead. --- -2.39.1 - diff --git a/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch b/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch index dbccf6a4c9b..48beae500ee 100644 --- a/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch +++ b/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch @@ -1,4 +1,4 @@ -From 112d125de0e3a20ef9fbbd12a2c8fe316f6578a5 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Kyle Pitzen Date: Thu, 9 Mar 2023 09:47:49 -0600 Subject: [PATCH 04/30] Marks SSE Configuration as Computed for Legacy S3 @@ -9,15 +9,12 @@ Since we maintain a forked version of the legacy S3 bucket resource, this change was not properly propagated to the legacy S3 bucket, which appears in pulumi as `aws.s3.Bucket` and is likely the default version of the Bucket resource that users will use. ---- - internal/service/s3legacy/bucket_legacy.go | 1 + - 1 file changed, 1 insertion(+) diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 27fe651a83..8879116578 100644 +index fd117b2971..56eed6e0f0 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go -@@ -571,6 +571,7 @@ func ResourceBucketLegacy() *schema.Resource { +@@ -572,6 +572,7 @@ func ResourceBucketLegacy() *schema.Resource { Type: schema.TypeList, MaxItems: 1, Optional: true, @@ -25,6 +22,3 @@ index 27fe651a83..8879116578 100644 Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "rule": { --- -2.39.1 - diff --git a/patches/0005-De-deprecate-bucket_object.patch b/patches/0005-De-deprecate-bucket_object.patch index b46fae9f1e5..9fb2bb665f2 100644 --- a/patches/0005-De-deprecate-bucket_object.patch +++ b/patches/0005-De-deprecate-bucket_object.patch @@ -1,11 +1,8 @@ -From fa45abb8520b9f2f93e60a96d0a7a3317a2c490d Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:06:11 +0000 Subject: [PATCH 05/30] De-deprecate bucket_object ---- - internal/service/s3/bucket_object.go | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/service/s3/bucket_object.go b/internal/service/s3/bucket_object.go index 1a6fadf590..f596e3a8b4 100644 @@ -40,6 +37,3 @@ index 1a6fadf590..f596e3a8b4 100644 } } --- -2.39.1 - diff --git a/patches/0006-Remove-lakeformation-catalog_resource-default.patch b/patches/0006-Remove-lakeformation-catalog_resource-default.patch index ce55278353d..df01b842336 100644 --- a/patches/0006-Remove-lakeformation-catalog_resource-default.patch +++ b/patches/0006-Remove-lakeformation-catalog_resource-default.patch @@ -1,11 +1,8 @@ -From 2cb5848768afb750cc299aa927e89c3d35618ef2 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:08:23 +0000 Subject: [PATCH 06/30] Remove lakeformation catalog_resource default ---- - internal/service/lakeformation/permissions.go | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/lakeformation/permissions.go b/internal/service/lakeformation/permissions.go index 594d25ee73..258163d0a5 100644 @@ -22,6 +19,3 @@ index 594d25ee73..258163d0a5 100644 ForceNew: true, Optional: true, ExactlyOneOf: []string{ --- -2.39.1 - diff --git a/patches/0007-Workaround-SSM-Parameter-tier-bug.patch b/patches/0007-Workaround-SSM-Parameter-tier-bug.patch index 263ecd4b3a7..ed0b244b1e1 100644 --- a/patches/0007-Workaround-SSM-Parameter-tier-bug.patch +++ b/patches/0007-Workaround-SSM-Parameter-tier-bug.patch @@ -1,13 +1,10 @@ -From ab2abc05d845cf109f90b703ad74ca0a18e27885 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:24:42 +0000 Subject: [PATCH 07/30] Workaround SSM Parameter tier bug - Disable "computed". - Disable diff suppression & counteractions ---- - internal/service/ssm/parameter.go | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/internal/service/ssm/parameter.go b/internal/service/ssm/parameter.go index 544385cfa6..6f72ffec7a 100644 @@ -56,6 +53,3 @@ index 544385cfa6..6f72ffec7a 100644 if d.HasChange("data_type") { paramInput.DataType = aws.String(d.Get("data_type").(string)) --- -2.39.1 - diff --git a/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch b/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch index b15ca5c2e7b..a3d26ca207f 100644 --- a/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch +++ b/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch @@ -1,16 +1,8 @@ -From b8b656368e81e141a415a393d9d515e7d243041f Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:31:27 +0000 Subject: [PATCH 08/30] Add EKS cluster default_addons_to_remove ---- - internal/service/eks/cluster.go | 7 + - internal/service/eks/cluster_addon_removal.go | 128 ++++++++++++++++++ - .../service/eks/cluster_addon_removal_test.go | 83 ++++++++++++ - internal/service/eks/wait.go | 3 + - 4 files changed, 221 insertions(+) - create mode 100644 internal/service/eks/cluster_addon_removal.go - create mode 100644 internal/service/eks/cluster_addon_removal_test.go diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 83bf69868e..d8544be700 100644 @@ -32,10 +24,10 @@ index 83bf69868e..d8544be700 100644 Optional: true, diff --git a/internal/service/eks/cluster_addon_removal.go b/internal/service/eks/cluster_addon_removal.go new file mode 100644 -index 0000000000..faa4fb9c6a +index 0000000000..52351474a8 --- /dev/null +++ b/internal/service/eks/cluster_addon_removal.go -@@ -0,0 +1,128 @@ +@@ -0,0 +1,129 @@ +package eks + +import ( @@ -48,8 +40,9 @@ index 0000000000..faa4fb9c6a + "github.com/aws/aws-sdk-go/service/eks" + "github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr" + "github.com/hashicorp/go-multierror" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + + "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -83,24 +76,24 @@ index 0000000000..faa4fb9c6a + log.Printf("[DEBUG] Creating EKS Add-On: %s", addonName) + createAddonInput := &eks.CreateAddonInput{ + AddonName: aws.String(addonName), -+ ClientRequestToken: aws.String(resource.UniqueId()), ++ ClientRequestToken: aws.String(id.UniqueId()), + ClusterName: aws.String(d.Id()), + ResolveConflicts: aws.String(eks.ResolveConflictsOverwrite), + } + -+ err := resource.RetryContext(ctx, propagationTimeout, func() *resource.RetryError { ++ err := retry.RetryContext(ctx, propagationTimeout, func() *retry.RetryError { + _, err := conn.CreateAddonWithContext(ctx, createAddonInput) + + if tfawserr.ErrMessageContains(err, eks.ErrCodeInvalidParameterException, "CREATE_FAILED") { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + + if tfawserr.ErrMessageContains(err, eks.ErrCodeInvalidParameterException, "does not exist") { -+ return resource.RetryableError(err) ++ return retry.RetryableError(err) + } + + if err != nil { -+ return resource.NonRetryableError(err) ++ return retry.NonRetryableError(err) + } + + return nil @@ -145,7 +138,7 @@ index 0000000000..faa4fb9c6a +func waitAddonCreatedAllowDegraded(ctx context.Context, conn *eks.EKS, clusterName, addonName string) (*eks.Addon, error) { + // We do not care about the addons actually being created successfully here. We only want them to be adopted by + // Terraform to be able to fully remove them afterwards again. -+ stateConf := resource.StateChangeConf{ ++ stateConf := retry.StateChangeConf{ + Pending: []string{eks.AddonStatusCreating}, + Target: []string{eks.AddonStatusActive, eks.AddonStatusDegraded}, + Refresh: statusAddon(ctx, conn, clusterName, addonName), @@ -166,10 +159,10 @@ index 0000000000..faa4fb9c6a +} diff --git a/internal/service/eks/cluster_addon_removal_test.go b/internal/service/eks/cluster_addon_removal_test.go new file mode 100644 -index 0000000000..7ec8d0303e +index 0000000000..a88fc53c4d --- /dev/null +++ b/internal/service/eks/cluster_addon_removal_test.go -@@ -0,0 +1,83 @@ +@@ -0,0 +1,84 @@ +package eks_test + +import ( @@ -178,8 +171,9 @@ index 0000000000..7ec8d0303e + "testing" + + "github.com/aws/aws-sdk-go/service/eks" -+ sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" ++ "github.com/hashicorp/terraform-plugin-testing/helper/resource" ++ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + "github.com/hashicorp/terraform-provider-aws/internal/acctest" @@ -244,7 +238,7 @@ index 0000000000..7ec8d0303e + _, err := tfeks.FindAddonByClusterNameAndAddonName(context.Background(), conn, rs.Primary.ID, addonName) + + if err != nil { -+ _, ok := err.(*resource.NotFoundError) ++ _, ok := err.(*retry.NotFoundError) + if ok { + return nil + } @@ -267,6 +261,3 @@ index 57a94e414f..6568e06549 100644 clusterDeleteRetryTimeout = 60 * time.Minute ) --- -2.39.1 - diff --git a/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch b/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch index aa4f1eeb591..aaf8694dd38 100644 --- a/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch +++ b/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch @@ -1,11 +1,8 @@ -From 766cbf2d4fd7c989806410e56c62fa2bac091ef1 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:32:49 +0000 Subject: [PATCH 09/30] Add EKS cluster certificate_authorities (plural) ---- - internal/service/eks/cluster.go | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index d8544be700..01c6b3caa0 100644 @@ -50,6 +47,3 @@ index d8544be700..01c6b3caa0 100644 if err := d.Set("certificate_authority", flattenCertificate(cluster.CertificateAuthority)); err != nil { return diag.Errorf("setting certificate_authority: %s", err) } --- -2.39.1 - diff --git a/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch b/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch index 2c123724f55..ec5dac02d1d 100644 --- a/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch +++ b/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch @@ -1,13 +1,10 @@ -From f8e53c4a556b3ef318e2e8c16df4cd7cacee42a9 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:34:56 +0000 Subject: [PATCH 10/30] Workaround Autoscaling launch_configuration associate_public_ip_address - Disable computation of property until fixed. ---- - .../autoscaling/launch_configuration.go | 22 +++++++++++-------- - 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/internal/service/autoscaling/launch_configuration.go b/internal/service/autoscaling/launch_configuration.go index 0cd504e232..74d309153f 100644 @@ -51,6 +48,3 @@ index 0cd504e232..74d309153f 100644 if v, ok := d.GetOk("iam_instance_profile"); ok { input.IamInstanceProfile = aws.String(v.(string)) --- -2.39.1 - diff --git a/patches/0011-Add-ECR-credentials_data_source.patch b/patches/0011-Add-ECR-credentials_data_source.patch index 8ea1abab898..70c7b03832d 100644 --- a/patches/0011-Add-ECR-credentials_data_source.patch +++ b/patches/0011-Add-ECR-credentials_data_source.patch @@ -1,21 +1,14 @@ -From 09342b1123f5f5608397770d0da90650b26e62d2 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:36:34 +0000 Subject: [PATCH 11/30] Add ECR credentials_data_source ---- - internal/provider/provider.go | 7 +- - .../service/ecr/credentials_data_source.go | 69 +++++++++++++++++++ - .../ecr/credentials_data_source_test.go | 37 ++++++++++ - 3 files changed, 112 insertions(+), 1 deletion(-) - create mode 100644 internal/service/ecr/credentials_data_source.go - create mode 100644 internal/service/ecr/credentials_data_source_test.go diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index 69bbdaa6ec..e3e8c2b44c 100644 +index 2bc27a3348..29feaebfbd 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go -@@ -12,6 +12,8 @@ import ( +@@ -13,6 +13,8 @@ import ( "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" @@ -113,7 +106,7 @@ index 0000000000..572754846f +} diff --git a/internal/service/ecr/credentials_data_source_test.go b/internal/service/ecr/credentials_data_source_test.go new file mode 100644 -index 0000000000..28bc53646f +index 0000000000..f0f875399e --- /dev/null +++ b/internal/service/ecr/credentials_data_source_test.go @@ -0,0 +1,37 @@ @@ -124,8 +117,8 @@ index 0000000000..28bc53646f + "regexp" + "testing" + -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ "github.com/hashicorp/terraform-plugin-testing/helper/acctest" ++ "github.com/hashicorp/terraform-plugin-testing/helper/resource" +) + +func TestAccAWSEcrDataSource_ecrCredentials(t *testing.T) { @@ -154,6 +147,3 @@ index 0000000000..28bc53646f + registry_id = "${aws_ecr_repository.default.registry_id}" +} +`, acctest.RandInt()) --- -2.39.1 - diff --git a/patches/0012-Add-custom-appautoscaling-examples.patch b/patches/0012-Add-custom-appautoscaling-examples.patch index 95e3a72bff5..fee75533251 100644 --- a/patches/0012-Add-custom-appautoscaling-examples.patch +++ b/patches/0012-Add-custom-appautoscaling-examples.patch @@ -1,12 +1,8 @@ -From 7c137d3e64305e24185fd3a6116c6bc20a4b6483 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Wed, 9 Nov 2022 17:37:35 +0000 Subject: [PATCH 12/30] Add custom appautoscaling examples ---- - .../r/appautoscaling_policy.html.markdown | 28 +++++++++++++++++++ - .../r/appautoscaling_target.html.markdown | 12 ++++++++ - 2 files changed, 40 insertions(+) diff --git a/website/docs/r/appautoscaling_policy.html.markdown b/website/docs/r/appautoscaling_policy.html.markdown index 10307ebf61..642fd54cec 100644 @@ -70,6 +66,3 @@ index c8899c14fe..eec6f7ca46 100644 ## Argument Reference This resource supports the following arguments: --- -2.39.1 - diff --git a/patches/0013-Add-dedicated_host-docs.patch b/patches/0013-Add-dedicated_host-docs.patch index 8f4e5e79eb8..a4eadf5dfc5 100644 --- a/patches/0013-Add-dedicated_host-docs.patch +++ b/patches/0013-Add-dedicated_host-docs.patch @@ -1,14 +1,8 @@ -From c58a72391073e79ba3967e2a1a532659dc186279 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 15 Nov 2022 10:08:05 +0000 Subject: [PATCH 13/30] Add dedicated_host docs ---- - website/docs/d/dedicated_host.html.markdown | 75 +++++++++++++++++++++ - website/docs/r/dedicated_host.html.markdown | 71 +++++++++++++++++++ - 2 files changed, 146 insertions(+) - create mode 100644 website/docs/d/dedicated_host.html.markdown - create mode 100644 website/docs/r/dedicated_host.html.markdown diff --git a/website/docs/d/dedicated_host.html.markdown b/website/docs/d/dedicated_host.html.markdown new file mode 100644 @@ -168,6 +162,3 @@ index 0000000000..01845aa221 +``` +$ terraform import aws_dedicated_host.host_id h-0385a99d0e4b20cbb +``` --- -2.39.1 - diff --git a/patches/0014-Revert-WAF-schema-changes.patch b/patches/0014-Revert-WAF-schema-changes.patch index c503261a361..f677c82abb8 100644 --- a/patches/0014-Revert-WAF-schema-changes.patch +++ b/patches/0014-Revert-WAF-schema-changes.patch @@ -1,15 +1,12 @@ -From ff9c10556a13b2604f03f9c645b75c6e9ac8adad Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 15 Nov 2022 13:59:57 +0000 Subject: [PATCH 14/30] Revert WAF schema changes - This causes far too many types to be generated downstream. ---- - internal/service/wafv2/schemas.go | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/wafv2/schemas.go b/internal/service/wafv2/schemas.go -index 652fb6fd33..6a17a8ed82 100644 +index ec60542b34..2a96b804e2 100644 --- a/internal/service/wafv2/schemas.go +++ b/internal/service/wafv2/schemas.go @@ -52,14 +52,14 @@ func ruleGroupRootStatementSchema(level int) *schema.Schema { @@ -31,6 +28,3 @@ index 652fb6fd33..6a17a8ed82 100644 "regex_match_statement": regexMatchStatementSchema(), "regex_pattern_set_reference_statement": regexPatternSetReferenceStatementSchema(), "size_constraint_statement": sizeConstraintSchema(), --- -2.39.1 - diff --git a/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch b/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch index 4326313229d..52ac1db6410 100644 --- a/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch +++ b/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch @@ -1,13 +1,10 @@ -From 430c04fdcac5352fc74a2c3ca8ef4e13dc0b283f Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Thu, 1 Dec 2022 10:56:32 -0800 Subject: [PATCH 15/30] Catch cty panic in new resourceTopicSubscriptionCustomizeDiff. The root cause is not fully understood yet but this might unblock us. ---- - internal/service/sns/topic_subscription.go | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/service/sns/topic_subscription.go b/internal/service/sns/topic_subscription.go index 97e1d8a056..bb3caf2e1d 100644 @@ -26,6 +23,3 @@ index 97e1d8a056..bb3caf2e1d 100644 if hasPolicy && !hasScope { if !hadScope { // When the filter_policy_scope hasn't been read back from the API, --- -2.39.1 - diff --git a/patches/0016-add-matchmaking-configuration-72.patch b/patches/0016-add-matchmaking-configuration-72.patch index e8d3ce658e9..d4d08f032e9 100644 --- a/patches/0016-add-matchmaking-configuration-72.patch +++ b/patches/0016-add-matchmaking-configuration-72.patch @@ -1,4 +1,4 @@ -From cbcaa673ac138ef6fc28f72c0123fce667c25688 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Wed, 21 Dec 2022 12:23:59 -0800 Subject: [PATCH 16/30] add matchmaking configuration (#72) @@ -8,27 +8,12 @@ Subject: [PATCH 16/30] add matchmaking configuration (#72) * implement flex_match_mode * Also fixes error codes for read operations * add resource docs ---- - internal/provider/provider.go | 4 + - .../gamelift/matchmaking_configuration.go | 386 ++++++++++++++++++ - .../matchmaking_configuration_test.go | 267 ++++++++++++ - .../service/gamelift/matchmaking_rule_set.go | 163 ++++++++ - .../gamelift/matchmaking_rule_set_test.go | 138 +++++++ - ...ft_matchmaking_configuration.html.markdown | 106 +++++ - ...amelift_matchmaking_rule_set.html.markdown | 52 +++ - 7 files changed, 1116 insertions(+) - create mode 100644 internal/service/gamelift/matchmaking_configuration.go - create mode 100644 internal/service/gamelift/matchmaking_configuration_test.go - create mode 100644 internal/service/gamelift/matchmaking_rule_set.go - create mode 100644 internal/service/gamelift/matchmaking_rule_set_test.go - create mode 100644 website/docs/r/gamelift_matchmaking_configuration.html.markdown - create mode 100644 website/docs/r/gamelift_matchmaking_rule_set.html.markdown diff --git a/internal/provider/provider.go b/internal/provider/provider.go -index e3e8c2b44c..1b46539c19 100644 +index 29feaebfbd..8d16810a17 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go -@@ -14,6 +14,7 @@ import ( +@@ -15,6 +15,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/hashicorp/terraform-provider-aws/internal/service/ecr" @@ -440,7 +425,7 @@ index 0000000000..0a7c8ea635 +} diff --git a/internal/service/gamelift/matchmaking_configuration_test.go b/internal/service/gamelift/matchmaking_configuration_test.go new file mode 100644 -index 0000000000..7bd8451404 +index 0000000000..94c9a8c29b --- /dev/null +++ b/internal/service/gamelift/matchmaking_configuration_test.go @@ -0,0 +1,267 @@ @@ -454,8 +439,8 @@ index 0000000000..7bd8451404 + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/gamelift" + -+ sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" ++ "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -882,7 +867,7 @@ index 0000000000..28d15ecf5e +} diff --git a/internal/service/gamelift/matchmaking_rule_set_test.go b/internal/service/gamelift/matchmaking_rule_set_test.go new file mode 100644 -index 0000000000..8788ef5b45 +index 0000000000..9dbf039588 --- /dev/null +++ b/internal/service/gamelift/matchmaking_rule_set_test.go @@ -0,0 +1,138 @@ @@ -895,8 +880,8 @@ index 0000000000..8788ef5b45 + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/gamelift" -+ sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" -+ "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ++ sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" ++ "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -1194,6 +1179,3 @@ index 0000000000..28013532bf +``` +$ terraform import aws_gamelift_matchmaking_rule_set.example +``` --- -2.39.1 - diff --git a/patches/0017-fix-Adding-back-in-removeAddons.patch b/patches/0017-fix-Adding-back-in-removeAddons.patch index 3baebe4e7b9..a86a99e6328 100644 --- a/patches/0017-fix-Adding-back-in-removeAddons.patch +++ b/patches/0017-fix-Adding-back-in-removeAddons.patch @@ -1,11 +1,8 @@ -From abc0d53604e450a37c62b1f2407d426d951c3690 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Richard Shade Date: Fri, 6 Jan 2023 15:31:22 -0600 Subject: [PATCH 17/30] fix: Adding back in removeAddons ---- - internal/service/eks/cluster.go | 4 ++++ - 1 file changed, 4 insertions(+) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 01c6b3caa0..4d7e5760fd 100644 @@ -22,6 +19,3 @@ index 01c6b3caa0..4d7e5760fd 100644 return resourceClusterRead(ctx, d, meta) } --- -2.39.1 - diff --git a/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch b/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch index 0428cf3078e..cd776c6868a 100644 --- a/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch +++ b/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch @@ -1,4 +1,4 @@ -From 4f604ede077608348240616948b6443761762a71 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Kyle Pitzen Date: Fri, 27 Jan 2023 09:37:43 -0600 Subject: [PATCH 18/30] Reverts patches to S3BucketLegacy and GameLift @@ -10,12 +10,6 @@ and in GameLift - specifically matchmaking configurations and rulesets. This PR reverts our patches which will prevent future merge conflicts, and updates call sites to plumb through the proper Context objects. ---- - .../gamelift/matchmaking_configuration.go | 44 ++--- - .../service/gamelift/matchmaking_rule_set.go | 42 ++--- - internal/service/s3legacy/bucket_legacy.go | 157 +++++++++--------- - internal/service/s3legacy/wait.go | 4 +- - 4 files changed, 124 insertions(+), 123 deletions(-) diff --git a/internal/service/gamelift/matchmaking_configuration.go b/internal/service/gamelift/matchmaking_configuration.go index 0a7c8ea635..d8ee20dc65 100644 @@ -306,7 +300,7 @@ index 28d15ecf5e..8c1189199f 100644 return nil diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 8879116578..ba95f6c2b6 100644 +index 56eed6e0f0..69cdf81c1e 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go @@ -20,6 +20,7 @@ import ( @@ -314,10 +308,10 @@ index 8879116578..ba95f6c2b6 100644 "github.com/aws/aws-sdk-go/service/s3/s3manager" "github.com/hashicorp/aws-sdk-go-base/tfawserr" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/structure" -@@ -34,10 +35,10 @@ import ( +@@ -35,10 +36,10 @@ import ( func ResourceBucketLegacy() *schema.Resource { return &schema.Resource{ @@ -332,7 +326,7 @@ index 8879116578..ba95f6c2b6 100644 Importer: &schema.ResourceImporter{ State: schema.ImportStatePassthrough, }, -@@ -670,7 +671,7 @@ func ResourceBucketLegacy() *schema.Resource { +@@ -671,7 +672,7 @@ func ResourceBucketLegacy() *schema.Resource { } } @@ -341,7 +335,7 @@ index 8879116578..ba95f6c2b6 100644 conn := meta.(*conns.AWSClient).S3Conn() // Get the bucket and acl -@@ -708,7 +709,7 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error +@@ -709,7 +710,7 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error } if err := ValidBucketNameLegacy(bucket, awsRegion); err != nil { @@ -350,7 +344,7 @@ index 8879116578..ba95f6c2b6 100644 } // S3 Object Lock can only be enabled on bucket creation. -@@ -735,15 +736,15 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error +@@ -736,15 +737,15 @@ func resourceBucketLegacyCreate(d *schema.ResourceData, meta interface{}) error _, err = conn.CreateBucket(req) } if err != nil { @@ -369,7 +363,7 @@ index 8879116578..ba95f6c2b6 100644 conn := meta.(*conns.AWSClient).S3Conn() if d.HasChange("tags_all") { -@@ -755,25 +756,25 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error +@@ -756,25 +757,25 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error return nil, terr }) if err != nil { @@ -399,7 +393,7 @@ index 8879116578..ba95f6c2b6 100644 } } -@@ -784,74 +785,74 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error +@@ -785,74 +786,74 @@ func resourceBucketLegacyUpdate(d *schema.ResourceData, meta interface{}) error if versioning := expandVersioningWhenIsNewResourceLegacy(v); versioning != nil { err := resourceBucketLegacyVersioningUpdate(conn, d.Id(), versioning) if err != nil { @@ -488,7 +482,7 @@ index 8879116578..ba95f6c2b6 100644 conn := meta.(*conns.AWSClient).S3Conn() defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig -@@ -895,7 +896,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -896,7 +897,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { } if err != nil { @@ -497,7 +491,7 @@ index 8879116578..ba95f6c2b6 100644 } // In the import case, we won't have this -@@ -916,24 +917,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -917,24 +918,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { log.Printf("[DEBUG] S3 bucket: %s, read policy: %v", d.Id(), pol) if err != nil { if err := d.Set("policy", ""); err != nil { @@ -526,7 +520,7 @@ index 8879116578..ba95f6c2b6 100644 } d.Set("policy", policyToSet) -@@ -944,7 +945,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -945,7 +946,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { //Read the Grant ACL. Reset if `acl` (canned ACL) is set. if acl, ok := d.GetOk("acl"); ok && acl.(string) != "private" { if err := d.Set("grant", nil); err != nil { @@ -535,7 +529,7 @@ index 8879116578..ba95f6c2b6 100644 } } else { apResponse, err := retryOnAWSCode("NoSuchBucket", func() (interface{}, error) { -@@ -953,12 +954,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -954,12 +955,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil { @@ -550,7 +544,7 @@ index 8879116578..ba95f6c2b6 100644 } } -@@ -969,7 +970,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -970,7 +971,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NoSuchCORSConfiguration", "") { @@ -559,7 +553,7 @@ index 8879116578..ba95f6c2b6 100644 } corsRules := make([]map[string]interface{}, 0) -@@ -991,7 +992,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -992,7 +993,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { } } if err := d.Set("cors_rule", corsRules); err != nil { @@ -568,7 +562,7 @@ index 8879116578..ba95f6c2b6 100644 } // Read the website configuration -@@ -1001,7 +1002,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1002,7 +1003,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NotImplemented", "") && !tfawserr.ErrMessageContains(err, "NoSuchWebsiteConfiguration", "") { @@ -577,7 +571,7 @@ index 8879116578..ba95f6c2b6 100644 } websites := make([]map[string]interface{}, 0, 1) -@@ -1045,7 +1046,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1046,7 +1047,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { if v := ws.RoutingRules; v != nil { rr, err := normalizeRoutingRulesLegacy(v) if err != nil { @@ -586,7 +580,7 @@ index 8879116578..ba95f6c2b6 100644 } w["routing_rules"] = rr } -@@ -1057,7 +1058,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1058,7 +1059,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { } } if err := d.Set("website", websites); err != nil { @@ -595,7 +589,7 @@ index 8879116578..ba95f6c2b6 100644 } // Read the versioning configuration -@@ -1069,12 +1070,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1070,12 +1071,12 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) if err != nil { @@ -610,7 +604,7 @@ index 8879116578..ba95f6c2b6 100644 } } -@@ -1088,7 +1089,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1089,7 +1090,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { // Amazon S3 Transfer Acceleration might not be supported in the region if err != nil && !tfawserr.ErrMessageContains(err, "MethodNotAllowed", "") && !tfawserr.ErrMessageContains(err, "UnsupportedArgument", "") { @@ -619,7 +613,7 @@ index 8879116578..ba95f6c2b6 100644 } if accelerate, ok := accelerateResponse.(*s3.GetBucketAccelerateConfigurationOutput); ok { d.Set("acceleration_status", accelerate.Status) -@@ -1103,7 +1104,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1104,7 +1105,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) if err != nil { @@ -628,7 +622,7 @@ index 8879116578..ba95f6c2b6 100644 } if payer, ok := payerResponse.(*s3.GetBucketRequestPaymentOutput); ok { -@@ -1118,7 +1119,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1119,7 +1120,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) if err != nil { @@ -637,7 +631,7 @@ index 8879116578..ba95f6c2b6 100644 } lcl := make([]map[string]interface{}, 0, 1) -@@ -1134,7 +1135,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1135,7 +1136,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { lcl = append(lcl, lc) } if err := d.Set("logging", lcl); err != nil { @@ -646,7 +640,7 @@ index 8879116578..ba95f6c2b6 100644 } // Read the lifecycle configuration -@@ -1145,7 +1146,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1146,7 +1147,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil && !tfawserr.ErrMessageContains(err, "NoSuchLifecycleConfiguration", "") { @@ -655,7 +649,7 @@ index 8879116578..ba95f6c2b6 100644 } lifecycleRules := make([]map[string]interface{}, 0) -@@ -1263,7 +1264,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1264,7 +1265,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { } } if err := d.Set("lifecycle_rule", lifecycleRules); err != nil { @@ -664,7 +658,7 @@ index 8879116578..ba95f6c2b6 100644 } // Read the bucket replication configuration -@@ -1274,7 +1275,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1275,7 +1276,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil && !tfawserr.ErrMessageContains(err, "ReplicationConfigurationNotFoundError", "") { @@ -673,7 +667,7 @@ index 8879116578..ba95f6c2b6 100644 } replicationConfiguration := make([]map[string]interface{}, 0) -@@ -1282,7 +1283,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1283,7 +1284,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { replicationConfiguration = flattenBucketReplicationConfigurationLegacy(replication.ReplicationConfiguration) } if err := d.Set("replication_configuration", replicationConfiguration); err != nil { @@ -682,7 +676,7 @@ index 8879116578..ba95f6c2b6 100644 } // Read the bucket server side encryption configuration -@@ -1293,7 +1294,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1294,7 +1295,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil && !tfawserr.ErrMessageContains(err, "ServerSideEncryptionConfigurationNotFoundError", "encryption configuration was not found") { @@ -691,7 +685,7 @@ index 8879116578..ba95f6c2b6 100644 } serverSideEncryptionConfiguration := make([]map[string]interface{}, 0) -@@ -1301,7 +1302,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1302,7 +1303,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { serverSideEncryptionConfiguration = flattenServerSideEncryptionConfigurationLegacy(encryption.ServerSideEncryptionConfiguration) } if err := d.Set("server_side_encryption_configuration", serverSideEncryptionConfiguration); err != nil { @@ -700,7 +694,7 @@ index 8879116578..ba95f6c2b6 100644 } // Object Lock configuration. -@@ -1309,7 +1310,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1310,7 +1311,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { // Object lock not supported in all partitions (extra guard, also guards in read func) if err != nil && (meta.(*conns.AWSClient).Partition == endpoints.AwsPartitionID || meta.(*conns.AWSClient).Partition == endpoints.AwsUsGovPartitionID) { @@ -709,7 +703,7 @@ index 8879116578..ba95f6c2b6 100644 } if err != nil { -@@ -1318,7 +1319,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1319,7 +1320,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { if err == nil { if err := d.Set("object_lock_configuration", conf); err != nil { @@ -718,7 +712,7 @@ index 8879116578..ba95f6c2b6 100644 } } -@@ -1339,18 +1340,18 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1340,18 +1341,18 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) }) if err != nil { @@ -740,7 +734,7 @@ index 8879116578..ba95f6c2b6 100644 } d.Set("bucket_regional_domain_name", regionalEndpoint) -@@ -1365,14 +1366,14 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1366,14 +1367,14 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { // Add website_endpoint as an attribute websiteEndpoint, err := websiteLegacyEndpoint(meta.(*conns.AWSClient), d) if err != nil { @@ -758,7 +752,7 @@ index 8879116578..ba95f6c2b6 100644 } } -@@ -1382,24 +1383,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1383,24 +1384,24 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { }) if err != nil { @@ -787,7 +781,7 @@ index 8879116578..ba95f6c2b6 100644 } arn := arn.ARN{ -@@ -1412,7 +1413,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { +@@ -1413,7 +1414,7 @@ func resourceBucketLegacyRead(d *schema.ResourceData, meta interface{}) error { return nil } @@ -796,7 +790,7 @@ index 8879116578..ba95f6c2b6 100644 conn := meta.(*conns.AWSClient).S3Conn() log.Printf("[DEBUG] S3 Delete Bucket: %s", d.Id()) -@@ -1444,28 +1445,28 @@ func resourceBucketLegacyDelete(d *schema.ResourceData, meta interface{}) error +@@ -1445,28 +1446,28 @@ func resourceBucketLegacyDelete(d *schema.ResourceData, meta interface{}) error err = DeleteAllObjectVersions(conn, d.Id(), "", objectLockEnabled, false) if err != nil { @@ -830,7 +824,7 @@ index 8879116578..ba95f6c2b6 100644 } if policy != "" { -@@ -1490,7 +1491,7 @@ func resourceBucketLegacyPolicyUpdate(conn *s3.S3, d *schema.ResourceData) error +@@ -1491,7 +1492,7 @@ func resourceBucketLegacyPolicyUpdate(conn *s3.S3, d *schema.ResourceData) error _, err = conn.PutBucketPolicy(params) } if err != nil { @@ -839,7 +833,7 @@ index 8879116578..ba95f6c2b6 100644 } } else { log.Printf("[DEBUG] S3 bucket: %s, delete policy: %s", bucket, policy) -@@ -1501,21 +1502,21 @@ func resourceBucketLegacyPolicyUpdate(conn *s3.S3, d *schema.ResourceData) error +@@ -1502,21 +1503,21 @@ func resourceBucketLegacyPolicyUpdate(conn *s3.S3, d *schema.ResourceData) error }) if err != nil { @@ -864,7 +858,7 @@ index 8879116578..ba95f6c2b6 100644 } } else { apResponse, err := retryOnAWSCode("NoSuchBucket", func() (interface{}, error) { -@@ -1525,7 +1526,7 @@ func resourceBucketLegacyGrantsUpdate(conn *s3.S3, d *schema.ResourceData) error +@@ -1526,7 +1527,7 @@ func resourceBucketLegacyGrantsUpdate(conn *s3.S3, d *schema.ResourceData) error }) if err != nil { @@ -873,7 +867,7 @@ index 8879116578..ba95f6c2b6 100644 } ap := apResponse.(*s3.GetBucketAclOutput) -@@ -1570,7 +1571,7 @@ func resourceBucketLegacyGrantsUpdate(conn *s3.S3, d *schema.ResourceData) error +@@ -1571,7 +1572,7 @@ func resourceBucketLegacyGrantsUpdate(conn *s3.S3, d *schema.ResourceData) error }) if err != nil { @@ -882,7 +876,7 @@ index 8879116578..ba95f6c2b6 100644 } } return nil -@@ -1948,7 +1949,7 @@ func resourceBucketLegacyRequestPayerUpdate(conn *s3.S3, d *schema.ResourceData) +@@ -1949,7 +1950,7 @@ func resourceBucketLegacyRequestPayerUpdate(conn *s3.S3, d *schema.ResourceData) return nil } @@ -891,7 +885,7 @@ index 8879116578..ba95f6c2b6 100644 bucket := d.Get("bucket").(string) serverSideEncryptionConfiguration := d.Get("server_side_encryption_configuration").([]interface{}) if len(serverSideEncryptionConfiguration) == 0 { -@@ -2000,7 +2001,7 @@ func resourceBucketLegacyServerSideEncryptionConfigurationUpdate(conn *s3.S3, d +@@ -2001,7 +2002,7 @@ func resourceBucketLegacyServerSideEncryptionConfigurationUpdate(conn *s3.S3, d log.Printf("[DEBUG] S3 put bucket replication configuration: %#v", i) _, err := tfresource.RetryWhenAWSErrCodeEquals( @@ -913,6 +907,3 @@ index 7a548d8d6d..9031539c19 100644 +func retryWhenBucketNotFound(ctx context.Context, f func() (interface{}, error)) (interface{}, error) { + return tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, f, s3.ErrCodeNoSuchBucket) } --- -2.39.1 - diff --git a/patches/0019-Revert-Update-endpointHashIPAddress.patch b/patches/0019-Revert-Update-endpointHashIPAddress.patch index c15e26b71a2..87ff42c1a4c 100644 --- a/patches/0019-Revert-Update-endpointHashIPAddress.patch +++ b/patches/0019-Revert-Update-endpointHashIPAddress.patch @@ -1,4 +1,4 @@ -From 88120e539a2eecf73d21b3dfa07b17984a063a13 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Fri, 3 Feb 2023 17:31:18 -0800 Subject: [PATCH 19/30] Revert "Update endpointHashIPAddress" @@ -7,9 +7,6 @@ This reverts commit 2197a6c2c7a0ff306cec3432acb9f5680866f034. This commit causes never-converging diffs due to incorrect use of a computed property in hashing. ---- - internal/service/route53resolver/endpoint.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/route53resolver/endpoint.go b/internal/service/route53resolver/endpoint.go index fdaba25fa4..0bb4e22ee2 100644 @@ -24,6 +21,3 @@ index fdaba25fa4..0bb4e22ee2 100644 return create.StringHashcode(buf.String()) } --- -2.39.1 - diff --git a/patches/0020-Fixup-eks-formatting.patch b/patches/0020-Fixup-eks-formatting.patch index 4d0cc9b2565..3f02fc2e84e 100644 --- a/patches/0020-Fixup-eks-formatting.patch +++ b/patches/0020-Fixup-eks-formatting.patch @@ -1,11 +1,8 @@ -From 6ab0ab814e73d4d2e2e46d2db09d6ef7681c8e27 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 9 Mar 2023 14:50:36 +0000 Subject: [PATCH 20/30] Fixup eks formatting ---- - internal/service/eks/wait.go | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/eks/wait.go b/internal/service/eks/wait.go index 6568e06549..fb1ec98588 100644 @@ -24,6 +21,3 @@ index 6568e06549..fb1ec98588 100644 clusterDeleteRetryTimeout = 60 * time.Minute ) --- -2.39.1 - diff --git a/patches/0021-Fixup-gamelift-context.patch b/patches/0021-Fixup-gamelift-context.patch index 200d0fd6524..8862c78d2fa 100644 --- a/patches/0021-Fixup-gamelift-context.patch +++ b/patches/0021-Fixup-gamelift-context.patch @@ -1,12 +1,8 @@ -From bd9e4870e3a714fb0f41415a79763fc091792ecc Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 9 Mar 2023 14:50:51 +0000 Subject: [PATCH 21/30] Fixup gamelift context ---- - internal/service/gamelift/matchmaking_configuration.go | 2 +- - internal/service/gamelift/matchmaking_rule_set.go | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/gamelift/matchmaking_configuration.go b/internal/service/gamelift/matchmaking_configuration.go index d8ee20dc65..e17f71e6b6 100644 @@ -34,6 +30,3 @@ index 8c1189199f..254c96efc6 100644 input := gamelift.CreateMatchmakingRuleSetInput{ Name: aws.String(d.Get("name").(string)), --- -2.39.1 - diff --git a/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch b/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch index 6d7099479f0..3105a641f3d 100644 --- a/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch +++ b/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch @@ -1,40 +1,8 @@ -From affeb78d097bc03e8a82894824fc98d8f3e177d0 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 28 Feb 2023 15:19:24 +0000 Subject: [PATCH 22/30] Change default descriptions to "Managed by Pulumi" ---- - internal/service/apigateway/api_key.go | 2 +- - internal/service/appsync/api_key.go | 2 +- - .../cloudfront/origin_access_control.go | 2 +- - .../service/docdb/cluster_parameter_group.go | 2 +- - internal/service/docdb/subnet_group.go | 2 +- - internal/service/ec2/vpc_security_group.go | 2 +- - .../service/elasticache/parameter_group.go | 2 +- - .../service/elasticache/security_group.go | 127 +++++++ - internal/service/elasticache/subnet_group.go | 2 +- - internal/service/mediapackage/channel.go | 2 +- - internal/service/memorydb/cluster.go | 2 +- - internal/service/memorydb/parameter_group.go | 2 +- - internal/service/memorydb/subnet_group.go | 2 +- - .../neptune/cluster_parameter_group.go | 2 +- - internal/service/neptune/parameter_group.go | 2 +- - internal/service/neptune/subnet_group.go | 2 +- - .../service/rds/cluster_parameter_group.go | 2 +- - internal/service/rds/option_group.go | 2 +- - internal/service/rds/parameter_group.go | 2 +- - internal/service/rds/security_group.go | 316 ++++++++++++++++++ - internal/service/rds/subnet_group.go | 2 +- - internal/service/redshift/parameter_group.go | 2 +- - internal/service/redshift/security_group.go | 291 ++++++++++++++++ - internal/service/redshift/subnet_group.go | 2 +- - internal/service/route53/record.go | 6 +- - internal/service/route53/zone.go | 2 +- - internal/service/route53/zone_association.go | 4 +- - 27 files changed, 761 insertions(+), 27 deletions(-) - create mode 100644 internal/service/elasticache/security_group.go - create mode 100644 internal/service/rds/security_group.go - create mode 100644 internal/service/redshift/security_group.go diff --git a/internal/service/apigateway/api_key.go b/internal/service/apigateway/api_key.go index a9bc1cc418..9284fc793b 100644 @@ -76,31 +44,31 @@ index 6812593087..18de58a8a7 100644 }, "etag": { diff --git a/internal/service/docdb/cluster_parameter_group.go b/internal/service/docdb/cluster_parameter_group.go -index 27a0b9ab0d..6771f57dba 100644 +index 435e139674..6f923a8ed0 100644 --- a/internal/service/docdb/cluster_parameter_group.go +++ b/internal/service/docdb/cluster_parameter_group.go -@@ -69,7 +69,7 @@ func ResourceClusterParameterGroup() *schema.Resource { +@@ -50,7 +50,7 @@ func ResourceClusterParameterGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: "Managed by Terraform", + Default: "Managed by Pulumi", }, - "parameter": { - Type: schema.TypeSet, + "family": { + Type: schema.TypeString, diff --git a/internal/service/docdb/subnet_group.go b/internal/service/docdb/subnet_group.go -index bf1d7bba97..35959c7f19 100644 +index 6970e2c917..9644b1a733 100644 --- a/internal/service/docdb/subnet_group.go +++ b/internal/service/docdb/subnet_group.go -@@ -63,7 +63,7 @@ func ResourceSubnetGroup() *schema.Resource { +@@ -45,7 +45,7 @@ func ResourceSubnetGroup() *schema.Resource { "description": { Type: schema.TypeString, Optional: true, - Default: "Managed by Terraform", + Default: "Managed by Pulumi", }, - - "subnet_ids": { + "name": { + Type: schema.TypeString, diff --git a/internal/service/ec2/vpc_security_group.go b/internal/service/ec2/vpc_security_group.go index 48be193e59..e3a4359db9 100644 --- a/internal/service/ec2/vpc_security_group.go @@ -326,18 +294,18 @@ index f8739b158d..b0c862290d 100644 "name": { Type: schema.TypeString, diff --git a/internal/service/neptune/cluster_parameter_group.go b/internal/service/neptune/cluster_parameter_group.go -index a482521b57..5b84686770 100644 +index 7a4f6d707b..aea15d9cce 100644 --- a/internal/service/neptune/cluster_parameter_group.go +++ b/internal/service/neptune/cluster_parameter_group.go -@@ -65,7 +65,7 @@ func ResourceClusterParameterGroup() *schema.Resource { +@@ -49,7 +49,7 @@ func ResourceClusterParameterGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: "Managed by Terraform", + Default: "Managed by Pulumi", }, - "parameter": { - Type: schema.TypeSet, + "family": { + Type: schema.TypeString, diff --git a/internal/service/neptune/parameter_group.go b/internal/service/neptune/parameter_group.go index 634e4f17cc..4572e60174 100644 --- a/internal/service/neptune/parameter_group.go @@ -365,7 +333,7 @@ index be08ae2bf4..3bfb5db0d6 100644 "name": { Type: schema.TypeString, diff --git a/internal/service/rds/cluster_parameter_group.go b/internal/service/rds/cluster_parameter_group.go -index 20f886b6cc..57ab8dac3b 100644 +index 1a8c89f656..126e6879bd 100644 --- a/internal/service/rds/cluster_parameter_group.go +++ b/internal/service/rds/cluster_parameter_group.go @@ -50,7 +50,7 @@ func ResourceClusterParameterGroup() *schema.Resource { @@ -378,18 +346,18 @@ index 20f886b6cc..57ab8dac3b 100644 "family": { Type: schema.TypeString, diff --git a/internal/service/rds/option_group.go b/internal/service/rds/option_group.go -index 5ac5d2bbf9..90e0116219 100644 +index 7336c50e7a..431e2d47b9 100644 --- a/internal/service/rds/option_group.go +++ b/internal/service/rds/option_group.go -@@ -78,7 +78,7 @@ func ResourceOptionGroup() *schema.Resource { +@@ -123,7 +123,7 @@ func ResourceOptionGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: "Managed by Terraform", + Default: "Managed by Pulumi", }, - - "option": { + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), diff --git a/internal/service/rds/parameter_group.go b/internal/service/rds/parameter_group.go index 227dae6935..5c46cc3fb9 100644 --- a/internal/service/rds/parameter_group.go @@ -1127,6 +1095,3 @@ index e17fa7c445..fb9e5b7304 100644 } _, err = conn.DisassociateVPCFromHostedZoneWithContext(ctx, input) --- -2.39.1 - diff --git a/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch b/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch index a2bbf07a5eb..14d961e63d3 100644 --- a/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch +++ b/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch @@ -1,16 +1,10 @@ -From 3c4f52ca58dd045f9a7c7cfae6412fe0a114ef54 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 28 Mar 2023 19:54:00 +0100 Subject: [PATCH 23/30] remove required elements from schema and fix tests (#77) Co-authored-by: Lee Briggs ---- - .../gamelift/matchmaking_configuration.go | 8 ++-- - .../matchmaking_configuration_test.go | 37 +++++++++++-------- - .../service/gamelift/matchmaking_rule_set.go | 4 +- - .../gamelift/matchmaking_rule_set_test.go | 25 +++++++------ - 4 files changed, 41 insertions(+), 33 deletions(-) diff --git a/internal/service/gamelift/matchmaking_configuration.go b/internal/service/gamelift/matchmaking_configuration.go index e17f71e6b6..4a0ccf149d 100644 @@ -49,7 +43,7 @@ index e17f71e6b6..4a0ccf149d 100644 return nil diff --git a/internal/service/gamelift/matchmaking_configuration_test.go b/internal/service/gamelift/matchmaking_configuration_test.go -index 7bd8451404..ce5ee93c99 100644 +index 94c9a8c29b..339f9dd6df 100644 --- a/internal/service/gamelift/matchmaking_configuration_test.go +++ b/internal/service/gamelift/matchmaking_configuration_test.go @@ -1,6 +1,7 @@ @@ -194,7 +188,7 @@ index 254c96efc6..54b86a0426 100644 return nil diff --git a/internal/service/gamelift/matchmaking_rule_set_test.go b/internal/service/gamelift/matchmaking_rule_set_test.go -index 8788ef5b45..0d6b961c5b 100644 +index 9dbf039588..061e93f186 100644 --- a/internal/service/gamelift/matchmaking_rule_set_test.go +++ b/internal/service/gamelift/matchmaking_rule_set_test.go @@ -1,6 +1,7 @@ @@ -285,6 +279,3 @@ index 8788ef5b45..0d6b961c5b 100644 name := rs.Primary.Attributes["name"] out, err := conn.DescribeMatchmakingRuleSets(&gamelift.DescribeMatchmakingRuleSetsInput{ --- -2.39.1 - diff --git a/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch b/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch index 3aaf6b3ae6c..acf663a0668 100644 --- a/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch +++ b/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch @@ -1,12 +1,9 @@ -From ec1101c46580d64fe5f63aaaaa8b2a934245ddf1 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 24 Apr 2023 10:36:36 -0400 Subject: [PATCH 24/30] Temp remove cognito_identity_pool_roles_attachment example beacuse of flaky translation ---- - ...entity_pool_roles_attachment.html.markdown | 81 ------------------- - 1 file changed, 81 deletions(-) diff --git a/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown b/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown index 23c0000bb6..d56a26e5f0 100644 @@ -100,6 +97,3 @@ index 23c0000bb6..d56a26e5f0 100644 ## Argument Reference --- -2.39.1 - diff --git a/patches/0025-Fix-elbv2-target-group-read.patch b/patches/0025-Fix-elbv2-target-group-read.patch index 3e8053cfde3..21677187e50 100644 --- a/patches/0025-Fix-elbv2-target-group-read.patch +++ b/patches/0025-Fix-elbv2-target-group-read.patch @@ -1,19 +1,16 @@ -From 57dc3fb2d41bb887f711c572e2bdcd8709890170 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 12 May 2023 10:55:42 +0100 Subject: [PATCH 25/30] Fix elbv2 target group read Workaround for https://github.com/pulumi/pulumi-aws/issues/2517 Don't return single empty map. Return empty list instead. ---- - internal/service/elbv2/target_group.go | 6 ++++++ - 1 file changed, 6 insertions(+) diff --git a/internal/service/elbv2/target_group.go b/internal/service/elbv2/target_group.go -index 68f04ccc02..8854953fc5 100644 +index 3c510e710b..26903193f9 100644 --- a/internal/service/elbv2/target_group.go +++ b/internal/service/elbv2/target_group.go -@@ -1133,6 +1133,12 @@ func flattenTargetGroupFailover(attributes []*elbv2.TargetGroupAttribute) []inte +@@ -1201,6 +1201,12 @@ func flattenTargetGroupFailover(attributes []*elbv2.TargetGroupAttribute) []inte } } @@ -26,6 +23,3 @@ index 68f04ccc02..8854953fc5 100644 return []interface{}{m} } --- -2.39.1 - diff --git a/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch b/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch index 3494a0e8cf4..389cd1e4e63 100644 --- a/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch +++ b/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch @@ -1,4 +1,4 @@ -From 7dc5e886c4ebee9f262a7533456cf5224c73ef61 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ramon Quitales Date: Thu, 18 May 2023 15:21:33 -0700 Subject: [PATCH 26/30] Fix spurrious json diff for redrive_policy @@ -7,9 +7,6 @@ We need to normalize the json input to compare agasint the one stored in state. Fix for https://github.com/pulumi/pulumi-aws/issues/2307. ---- - internal/service/sqs/queue_redrive_policy.go | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/service/sqs/queue_redrive_policy.go b/internal/service/sqs/queue_redrive_policy.go index 7f55a8e6e8..d3a620f555 100644 @@ -37,6 +34,3 @@ index 7f55a8e6e8..d3a620f555 100644 StateFunc: func(v interface{}) string { json, _ := structure.NormalizeJsonString(v) return json --- -2.39.1 - diff --git a/patches/0027-Provide-context-to-conns.patch b/patches/0027-Provide-context-to-conns.patch index ce94ddb9cdc..2bd94e7a6d1 100644 --- a/patches/0027-Provide-context-to-conns.patch +++ b/patches/0027-Provide-context-to-conns.patch @@ -1,17 +1,8 @@ -From c3d4f9035e685d466d1e645a024a1f362009961f Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Mon, 10 Jul 2023 11:51:24 +0200 Subject: [PATCH 27/30] Provide context to conns ---- - internal/service/ecr/credentials_data_source.go | 4 +++- - internal/service/elasticache/security_group.go | 4 ++-- - .../gamelift/matchmaking_configuration.go | 12 ++++++------ - .../service/gamelift/matchmaking_rule_set.go | 12 ++++++------ - internal/service/rds/security_group.go | 6 +++--- - internal/service/redshift/security_group.go | 6 +++--- - internal/service/s3legacy/bucket_legacy.go | 16 ++++++++-------- - 7 files changed, 31 insertions(+), 29 deletions(-) diff --git a/internal/service/ecr/credentials_data_source.go b/internal/service/ecr/credentials_data_source.go index 572754846f..9dd9fd0e8c 100644 @@ -236,10 +227,10 @@ index 47b5d7cda2..050fee663a 100644 opts := redshift.DescribeClusterSecurityGroupsInput{ ClusterSecurityGroupName: aws.String(d.Id()), diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index ba95f6c2b6..0563bd3a25 100644 +index 69cdf81c1e..575767763b 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go -@@ -672,7 +672,7 @@ func ResourceBucketLegacy() *schema.Resource { +@@ -673,7 +673,7 @@ func ResourceBucketLegacy() *schema.Resource { } func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { @@ -248,7 +239,7 @@ index ba95f6c2b6..0563bd3a25 100644 // Get the bucket and acl var bucket string -@@ -745,7 +745,7 @@ func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, met +@@ -746,7 +746,7 @@ func resourceBucketLegacyCreate(ctx context.Context, d *schema.ResourceData, met } func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { @@ -257,7 +248,7 @@ index ba95f6c2b6..0563bd3a25 100644 if d.HasChange("tags_all") { o, n := d.GetChange("tags_all") -@@ -853,7 +853,7 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met +@@ -854,7 +854,7 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met } func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { @@ -266,7 +257,7 @@ index ba95f6c2b6..0563bd3a25 100644 defaultTagsConfig := meta.(*conns.AWSClient).DefaultTagsConfig ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig -@@ -1364,7 +1364,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta +@@ -1365,7 +1365,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } // Add website_endpoint as an attribute @@ -275,7 +266,7 @@ index ba95f6c2b6..0563bd3a25 100644 if err != nil { return diag.FromErr(err) } -@@ -1414,7 +1414,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta +@@ -1415,7 +1415,7 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta } func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { @@ -284,7 +275,7 @@ index ba95f6c2b6..0563bd3a25 100644 log.Printf("[DEBUG] S3 Delete Bucket: %s", d.Id()) _, err := conn.DeleteBucket(&s3.DeleteBucketInput{ -@@ -1430,7 +1430,7 @@ func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, met +@@ -1431,7 +1431,7 @@ func resourceBucketLegacyDelete(ctx context.Context, d *schema.ResourceData, met // Use a S3 service client that can handle multiple slashes in URIs. // While aws_s3_bucket_object resources cannot create these object // keys, other AWS services and applications using the S3 Bucket can. @@ -293,7 +284,7 @@ index ba95f6c2b6..0563bd3a25 100644 // bucket may have things delete them log.Printf("[DEBUG] S3 Bucket attempting to forceDestroy %+v", err) -@@ -1752,7 +1752,7 @@ func resourceBucketLegacyWebsiteDelete(conn *s3.S3, d *schema.ResourceData) erro +@@ -1753,7 +1753,7 @@ func resourceBucketLegacyWebsiteDelete(conn *s3.S3, d *schema.ResourceData) erro return nil } @@ -302,7 +293,7 @@ index ba95f6c2b6..0563bd3a25 100644 // If the bucket doesn't have a website configuration, return an empty // endpoint if _, ok := d.GetOk("website"); !ok { -@@ -1764,7 +1764,7 @@ func websiteLegacyEndpoint(client *conns.AWSClient, d *schema.ResourceData) (*S3 +@@ -1765,7 +1765,7 @@ func websiteLegacyEndpoint(client *conns.AWSClient, d *schema.ResourceData) (*S3 // Lookup the region for this bucket locationResponse, err := retryOnAWSCode(s3.ErrCodeNoSuchBucket, func() (interface{}, error) { @@ -311,6 +302,3 @@ index ba95f6c2b6..0563bd3a25 100644 &s3.GetBucketLocationInput{ Bucket: aws.String(bucket), }, --- -2.39.1 - diff --git a/patches/0028-Match-the-tags-behavior-of-other-resources.patch b/patches/0028-Match-the-tags-behavior-of-other-resources.patch index af06cbee11f..8da6082c19d 100644 --- a/patches/0028-Match-the-tags-behavior-of-other-resources.patch +++ b/patches/0028-Match-the-tags-behavior-of-other-resources.patch @@ -1,17 +1,14 @@ -From c1aec4eadaec35ac735689b7863d670f94a1072c Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Wed, 2 Aug 2023 14:12:03 +0200 Subject: [PATCH 28/30] Match the "tags" behavior of other resources ---- - internal/service/s3legacy/bucket_legacy.go | 14 +++----------- - 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/internal/service/s3legacy/bucket_legacy.go b/internal/service/s3legacy/bucket_legacy.go -index 0563bd3a25..e6bd8e7013 100644 +index 575767763b..007c2f2dc1 100644 --- a/internal/service/s3legacy/bucket_legacy.go +++ b/internal/service/s3legacy/bucket_legacy.go -@@ -30,6 +30,7 @@ import ( +@@ -31,6 +31,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/flex" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -19,7 +16,7 @@ index 0563bd3a25..e6bd8e7013 100644 "github.com/hashicorp/terraform-provider-aws/internal/verify" ) -@@ -854,8 +855,6 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met +@@ -855,8 +856,6 @@ func resourceBucketLegacyUpdate(ctx context.Context, d *schema.ResourceData, met func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { conn := meta.(*conns.AWSClient).S3Conn(ctx) @@ -28,7 +25,7 @@ index 0563bd3a25..e6bd8e7013 100644 input := &s3.HeadBucketInput{ Bucket: aws.String(d.Id()), -@@ -1392,15 +1391,8 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta +@@ -1393,15 +1392,8 @@ func resourceBucketLegacyRead(ctx context.Context, d *schema.ResourceData, meta return diag.Errorf("error listing tags for S3 Bucket (%s): unable to convert tags", d.Id()) } @@ -46,6 +43,3 @@ index 0563bd3a25..e6bd8e7013 100644 } arn := arn.ARN{ --- -2.39.1 - diff --git a/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch b/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch index 5d9f8a11873..a1ebb1c083b 100644 --- a/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch +++ b/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch @@ -1,14 +1,8 @@ -From 1351dd2b806101d7486bcd6e38be337fa6ce00df Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Guinevere Saenger Date: Wed, 6 Sep 2023 10:43:30 -0700 Subject: [PATCH 29/30] move shim logic to upstream as a patch ---- - shim/shim.go | 36 ++++++++++++++++++++++++++++++++++++ - shim/shim_test.go | 29 +++++++++++++++++++++++++++++ - 2 files changed, 65 insertions(+) - create mode 100644 shim/shim.go - create mode 100644 shim/shim_test.go diff --git a/shim/shim.go b/shim/shim.go new file mode 100644 @@ -87,6 +81,3 @@ index 0000000000..f8ee8a0c54 + t.Fatal(err) + } +} --- -2.39.1 - diff --git a/patches/0030-Restore-S3ConnURICleaningDisabled.patch b/patches/0030-Restore-S3ConnURICleaningDisabled.patch index 005b4c158b4..0b321f58836 100644 --- a/patches/0030-Restore-S3ConnURICleaningDisabled.patch +++ b/patches/0030-Restore-S3ConnURICleaningDisabled.patch @@ -1,14 +1,11 @@ -From 8fcc023d59d0dbdc39054bf8c4067c2795a62800 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 25 Sep 2023 15:22:30 -0400 Subject: [PATCH 30/30] Restore S3ConnURICleaningDisabled ---- - internal/conns/awsclient.go | 9 +++++++++ - 1 file changed, 9 insertions(+) diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index 52a4cd3e48..08befe98fc 100644 +index b1f8680be8..0a6f434326 100644 --- a/internal/conns/awsclient.go +++ b/internal/conns/awsclient.go @@ -11,10 +11,12 @@ import ( @@ -21,10 +18,10 @@ index 52a4cd3e48..08befe98fc 100644 apigatewayv2_sdkv1 "github.com/aws/aws-sdk-go/service/apigatewayv2" mediaconvert_sdkv1 "github.com/aws/aws-sdk-go/service/mediaconvert" + s3_sdkv1 "github.com/aws/aws-sdk-go/service/s3" + baselogging "github.com/hashicorp/aws-sdk-go-base/v2/logging" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/names" - ) -@@ -70,6 +72,13 @@ func (client *AWSClient) S3UsePathStyle() bool { +@@ -72,6 +74,13 @@ func (client *AWSClient) S3UsePathStyle() bool { return client.s3UsePathStyle } @@ -38,6 +35,3 @@ index 52a4cd3e48..08befe98fc 100644 // SetHTTPClient sets the http.Client used for AWS API calls. // To have effect it must be called before the AWS SDK v1 Session is created. func (client *AWSClient) SetHTTPClient(httpClient *http.Client) { --- -2.39.1 - diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 3cf678596ad..51d77cc7f0f 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -293,6 +293,9 @@ }, "target_failover": { "maxItemsOne": false + }, + "target_health_state": { + "maxItemsOne": false } } }, @@ -6527,6 +6530,9 @@ "current": "aws:cfg/rule:Rule", "majorVersion": 6, "fields": { + "evaluation_mode": { + "maxItemsOne": false + }, "scope": { "maxItemsOne": true, "elem": { @@ -9657,6 +9663,28 @@ } } }, + "aws_elasticsearch_vpc_endpoint": { + "current": "aws:elasticsearch/vpcEndpoint:VpcEndpoint", + "majorVersion": 6, + "fields": { + "vpc_options": { + "maxItemsOne": true, + "elem": { + "fields": { + "availability_zones": { + "maxItemsOne": false + }, + "security_group_ids": { + "maxItemsOne": false + }, + "subnet_ids": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_elastictranscoder_pipeline": { "current": "aws:elastictranscoder/pipeline:Pipeline", "majorVersion": 6, @@ -11997,6 +12025,23 @@ "current": "aws:imagebuilder/image:Image", "majorVersion": 6, "fields": { + "image_scanning_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "ecr_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "container_tags": { + "maxItemsOne": false + } + } + } + } + } + } + }, "image_tests_configuration": { "maxItemsOne": true }, @@ -12263,6 +12308,21 @@ "current": "aws:iot/certificate:Certificate", "majorVersion": 6 }, + "aws_iot_domain_configuration": { + "current": "aws:iot/domainConfiguration:DomainConfiguration", + "majorVersion": 6, + "fields": { + "authorizer_config": { + "maxItemsOne": true + }, + "server_certificate_arns": { + "maxItemsOne": false + }, + "tls_config": { + "maxItemsOne": true + } + } + }, "aws_iot_indexing_configuration": { "current": "aws:iot/indexingConfiguration:IndexingConfiguration", "majorVersion": 6, @@ -12287,6 +12347,16 @@ "custom_field": { "maxItemsOne": false }, + "filter": { + "maxItemsOne": true, + "elem": { + "fields": { + "named_shadow_names": { + "maxItemsOne": false + } + } + } + }, "managed_field": { "maxItemsOne": false } @@ -14524,6 +14594,9 @@ }, "target_failover": { "maxItemsOne": false + }, + "target_health_state": { + "maxItemsOne": false } } }, @@ -16480,6 +16553,68 @@ } } }, + "aws_msk_replicator": { + "current": "aws:msk/replicator:Replicator", + "majorVersion": 6, + "fields": { + "kafka_cluster": { + "maxItemsOne": false, + "elem": { + "fields": { + "amazon_msk_cluster": { + "maxItemsOne": true + }, + "vpc_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "security_groups_ids": { + "maxItemsOne": false + }, + "subnet_ids": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "replication_info_list": { + "maxItemsOne": true, + "elem": { + "fields": { + "consumer_group_replication": { + "maxItemsOne": false, + "elem": { + "fields": { + "consumer_groups_to_exclude": { + "maxItemsOne": false + }, + "consumer_groups_to_replicate": { + "maxItemsOne": false + } + } + } + }, + "topic_replication": { + "maxItemsOne": false, + "elem": { + "fields": { + "topics_to_exclude": { + "maxItemsOne": false + }, + "topics_to_replicate": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "aws_msk_scram_secret_association": { "current": "aws:msk/scramSecretAssociation:ScramSecretAssociation", "majorVersion": 6, @@ -152135,6 +152270,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152265,6 +152403,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152369,6 +152510,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152473,6 +152617,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152577,6 +152724,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152681,6 +152831,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152791,6 +152944,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -152929,6 +153085,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153059,6 +153218,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153163,6 +153325,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153267,6 +153432,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153371,6 +153539,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153475,6 +153646,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153593,6 +153767,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153723,6 +153900,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153827,6 +154007,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -153931,6 +154114,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154035,6 +154221,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154139,6 +154328,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154249,6 +154441,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154353,6 +154548,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154457,6 +154655,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154561,6 +154762,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154665,6 +154869,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154775,6 +154982,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -154921,6 +155131,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155051,6 +155264,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155155,6 +155371,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155259,6 +155478,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155363,6 +155585,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155467,6 +155692,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155577,6 +155805,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155715,6 +155946,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155845,6 +156079,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -155949,6 +156186,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156053,6 +156293,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156157,6 +156400,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156261,6 +156507,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156379,6 +156628,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156509,6 +156761,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156613,6 +156868,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156717,6 +156975,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156821,6 +157082,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -156925,6 +157189,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157035,6 +157302,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157139,6 +157409,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157243,6 +157516,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157347,6 +157623,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157451,6 +157730,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157577,6 +157859,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157707,6 +157992,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157811,6 +158099,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -157915,6 +158206,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158019,6 +158313,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158123,6 +158420,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158233,6 +158533,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158371,6 +158674,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158501,6 +158807,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158605,6 +158914,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158709,6 +159021,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158813,6 +159128,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -158917,6 +159235,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159035,6 +159356,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159165,6 +159489,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159269,6 +159596,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159373,6 +159703,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159477,6 +159810,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159581,6 +159917,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159691,6 +160030,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159795,6 +160137,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -159899,6 +160244,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160003,6 +160351,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160107,6 +160458,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160305,6 +160659,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160435,6 +160792,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160539,6 +160899,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160643,6 +161006,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160747,6 +161113,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160851,6 +161220,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -160961,6 +161333,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161099,6 +161474,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161229,6 +161607,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161333,6 +161714,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161437,6 +161821,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161541,6 +161928,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161645,6 +162035,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161763,6 +162156,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161893,6 +162289,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -161997,6 +162396,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162101,6 +162503,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162205,6 +162610,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162309,6 +162717,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162419,6 +162830,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162523,6 +162937,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162627,6 +163044,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162731,6 +163151,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162835,6 +163258,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -162945,6 +163371,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163049,6 +163478,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163153,6 +163585,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163257,6 +163692,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163361,6 +163799,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163704,6 +164145,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163834,6 +164278,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -163938,6 +164385,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164042,6 +164492,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164146,6 +164599,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164250,6 +164706,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164360,6 +164819,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164498,6 +164960,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164628,6 +165093,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164732,6 +165200,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164836,6 +165307,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -164940,6 +165414,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165044,6 +165521,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165162,6 +165642,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165292,6 +165775,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165396,6 +165882,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165500,6 +165989,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165604,6 +166096,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165708,6 +166203,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165818,6 +166316,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -165922,6 +166423,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166026,6 +166530,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166130,6 +166637,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166234,6 +166744,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166344,6 +166857,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166490,6 +167006,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166620,6 +167139,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166724,6 +167246,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166828,6 +167353,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -166932,6 +167460,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167036,6 +167567,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167146,6 +167680,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167284,6 +167821,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167414,6 +167954,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167518,6 +168061,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167622,6 +168168,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167726,6 +168275,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167830,6 +168382,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -167948,6 +168503,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168078,6 +168636,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168182,6 +168743,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168286,6 +168850,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168390,6 +168957,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168494,6 +169064,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168604,6 +169177,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168708,6 +169284,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168812,6 +169391,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -168916,6 +169498,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169020,6 +169605,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169146,6 +169734,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169276,6 +169867,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169380,6 +169974,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169484,6 +170081,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169588,6 +170188,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169692,6 +170295,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169802,6 +170408,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -169940,6 +170549,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170070,6 +170682,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170174,6 +170789,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170278,6 +170896,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170382,6 +171003,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170486,6 +171110,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170604,6 +171231,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170734,6 +171364,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170838,6 +171471,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -170942,6 +171578,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171046,6 +171685,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171150,6 +171792,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171260,6 +171905,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171364,6 +172012,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171468,6 +172119,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171572,6 +172226,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171676,6 +172333,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171786,6 +172446,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171890,6 +172553,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -171994,6 +172660,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172098,6 +172767,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172202,6 +172874,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172312,6 +172987,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172742,6 +173420,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172872,6 +173553,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -172976,6 +173660,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173080,6 +173767,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173184,6 +173874,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173288,6 +173981,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173398,6 +174094,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173536,6 +174235,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173666,6 +174368,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173770,6 +174475,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173874,6 +174582,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -173978,6 +174689,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174082,6 +174796,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174200,6 +174917,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174330,6 +175050,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174434,6 +175157,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174538,6 +175264,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174642,6 +175371,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174746,6 +175478,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174856,6 +175591,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -174960,6 +175698,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175064,6 +175805,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175168,6 +175912,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175272,6 +176019,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175382,6 +176132,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175528,6 +176281,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175658,6 +176414,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175762,6 +176521,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175866,6 +176628,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -175970,6 +176735,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176074,6 +176842,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176184,6 +176955,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176322,6 +177096,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176452,6 +177229,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176556,6 +177336,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176660,6 +177443,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176764,6 +177550,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176868,6 +177657,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -176986,6 +177778,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177116,6 +177911,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177220,6 +178018,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177324,6 +178125,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177428,6 +178232,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177532,6 +178339,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177642,6 +178452,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177746,6 +178559,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177850,6 +178666,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -177954,6 +178773,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178058,6 +178880,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178184,6 +179009,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178314,6 +179142,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178418,6 +179249,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178522,6 +179356,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178626,6 +179463,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178730,6 +179570,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178840,6 +179683,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -178978,6 +179824,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179108,6 +179957,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179212,6 +180064,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179316,6 +180171,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179420,6 +180278,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179524,6 +180385,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179642,6 +180506,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179772,6 +180639,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179876,6 +180746,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -179980,6 +180853,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180084,6 +180960,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180188,6 +181067,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180298,6 +181180,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180402,6 +181287,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180506,6 +181394,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180610,6 +181501,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180714,6 +181608,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180824,6 +181721,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -180928,6 +181828,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181032,6 +181935,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181136,6 +182042,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181240,6 +182149,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181374,6 +182286,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181504,6 +182419,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181608,6 +182526,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181712,6 +182633,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181816,6 +182740,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -181920,6 +182847,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182030,6 +182960,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182168,6 +183101,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182298,6 +183234,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182402,6 +183341,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182506,6 +183448,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182610,6 +183555,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182714,6 +183662,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182832,6 +183783,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -182962,6 +183916,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183066,6 +184023,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183170,6 +184130,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183274,6 +184237,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183378,6 +184344,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183488,6 +184457,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183592,6 +184564,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183696,6 +184671,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183800,6 +184778,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -183904,6 +184885,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184014,6 +184998,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184160,6 +185147,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184290,6 +185280,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184394,6 +185387,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184498,6 +185494,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184602,6 +185601,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184706,6 +185708,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184816,6 +185821,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -184954,6 +185962,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185084,6 +186095,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185188,6 +186202,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185292,6 +186309,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185396,6 +186416,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185500,6 +186523,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185618,6 +186644,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185748,6 +186777,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185852,6 +186884,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -185956,6 +186991,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186060,6 +187098,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186164,6 +187205,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186274,6 +187318,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186378,6 +187425,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186482,6 +187532,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186586,6 +187639,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186690,6 +187746,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186816,6 +187875,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -186946,6 +188008,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187050,6 +188115,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187154,6 +188222,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187258,6 +188329,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187362,6 +188436,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187472,6 +188549,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187610,6 +188690,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187740,6 +188823,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187844,6 +188930,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -187948,6 +189037,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188052,6 +189144,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188156,6 +189251,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188274,6 +189372,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188404,6 +189505,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188508,6 +189612,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188612,6 +189719,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188716,6 +189826,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188820,6 +189933,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -188930,6 +190046,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189034,6 +190153,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189138,6 +190260,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189242,6 +190367,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189346,6 +190474,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189456,6 +190587,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189560,6 +190694,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189664,6 +190801,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189768,6 +190908,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -189872,6 +191015,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190006,6 +191152,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190136,6 +191285,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190240,6 +191392,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190344,6 +191499,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190448,6 +191606,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190552,6 +191713,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190662,6 +191826,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190800,6 +191967,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -190930,6 +192100,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191034,6 +192207,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191138,6 +192314,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191242,6 +192421,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191346,6 +192528,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191464,6 +192649,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191594,6 +192782,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191698,6 +192889,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191802,6 +192996,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -191906,6 +193103,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192010,6 +193210,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192120,6 +193323,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192224,6 +193430,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192328,6 +193537,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192432,6 +193644,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192536,6 +193751,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192646,6 +193864,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192792,6 +194013,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -192922,6 +194146,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193026,6 +194253,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193130,6 +194360,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193234,6 +194467,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193338,6 +194574,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193448,6 +194687,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193586,6 +194828,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193716,6 +194961,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193820,6 +195068,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -193924,6 +195175,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194028,6 +195282,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194132,6 +195389,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194250,6 +195510,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194380,6 +195643,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194484,6 +195750,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194588,6 +195857,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194692,6 +195964,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194796,6 +196071,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -194906,6 +196184,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195010,6 +196291,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195114,6 +196398,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195218,6 +196505,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195322,6 +196612,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195448,6 +196741,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195578,6 +196874,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195682,6 +196981,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195786,6 +197088,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195890,6 +197195,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -195994,6 +197302,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196104,6 +197415,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196242,6 +197556,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196372,6 +197689,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196476,6 +197796,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196580,6 +197903,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196684,6 +198010,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196788,6 +198117,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -196906,6 +198238,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197036,6 +198371,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197140,6 +198478,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197244,6 +198585,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197348,6 +198692,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197452,6 +198799,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197562,6 +198912,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197666,6 +199019,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197770,6 +199126,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197874,6 +199233,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -197978,6 +199340,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198088,6 +199453,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198192,6 +199560,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198296,6 +199667,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198400,6 +199774,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198504,6 +199881,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198710,6 +200090,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198840,6 +200223,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -198944,6 +200330,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199048,6 +200437,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199152,6 +200544,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199256,6 +200651,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199366,6 +200764,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199504,6 +200905,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199634,6 +201038,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199738,6 +201145,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199842,6 +201252,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -199946,6 +201359,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200050,6 +201466,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200168,6 +201587,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200298,6 +201720,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200402,6 +201827,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200506,6 +201934,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200610,6 +202041,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200714,6 +202148,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200824,6 +202261,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -200928,6 +202368,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201032,6 +202475,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201136,6 +202582,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201240,6 +202689,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201350,6 +202802,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201496,6 +202951,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201626,6 +203084,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201730,6 +203191,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201834,6 +203298,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -201938,6 +203405,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202042,6 +203512,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202152,6 +203625,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202290,6 +203766,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202420,6 +203899,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202524,6 +204006,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202628,6 +204113,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202732,6 +204220,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202836,6 +204327,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -202954,6 +204448,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203084,6 +204581,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203188,6 +204688,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203292,6 +204795,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203396,6 +204902,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203500,6 +205009,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203610,6 +205122,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203714,6 +205229,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203818,6 +205336,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -203922,6 +205443,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204026,6 +205550,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204152,6 +205679,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204282,6 +205812,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204386,6 +205919,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204490,6 +206026,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204594,6 +206133,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204698,6 +206240,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204808,6 +206353,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -204946,6 +206494,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205076,6 +206627,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205180,6 +206734,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205284,6 +206841,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205388,6 +206948,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205492,6 +207055,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205610,6 +207176,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205740,6 +207309,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205844,6 +207416,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -205948,6 +207523,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206052,6 +207630,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206156,6 +207737,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206266,6 +207850,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206370,6 +207957,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206474,6 +208064,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206578,6 +208171,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206682,6 +208278,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206792,6 +208391,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -206896,6 +208498,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207000,6 +208605,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207104,6 +208712,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207208,6 +208819,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207318,6 +208932,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207422,6 +209039,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207632,6 +209252,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207736,6 +209359,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -207840,6 +209466,9 @@ } } }, + "ja3_fingerprint": { + "maxItemsOne": true + }, "json_body": { "maxItemsOne": true, "elem": { @@ -214068,6 +215697,23 @@ "current": "aws:imagebuilder/getImage:getImage", "majorVersion": 6, "fields": { + "image_scanning_configuration": { + "maxItemsOne": false, + "elem": { + "fields": { + "ecr_configuration": { + "maxItemsOne": false, + "elem": { + "fields": { + "container_tags": { + "maxItemsOne": false + } + } + } + } + } + } + }, "image_tests_configuration": { "maxItemsOne": false }, @@ -215263,6 +216909,10 @@ } } }, + "aws_media_convert_queue": { + "current": "aws:mediaconvert/getQueue:getQueue", + "majorVersion": 6 + }, "aws_memorydb_acl": { "current": "aws:memorydb/getAcl:getAcl", "majorVersion": 6, @@ -218752,6 +220402,7 @@ "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, @@ -218892,6 +220543,7 @@ "aws:inspector2/organizationConfiguration:OrganizationConfiguration": 0, "aws:iot/authorizer:Authorizer": 0, "aws:iot/certificate:Certificate": 0, + "aws:iot/domainConfiguration:DomainConfiguration": 0, "aws:iot/indexingConfiguration:IndexingConfiguration": 0, "aws:iot/loggingOptions:LoggingOptions": 0, "aws:iot/policy:Policy": 0, @@ -219022,6 +220674,7 @@ "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, @@ -219833,6 +221486,7 @@ "aws:location/getTracker:getTracker": 0, "aws:location/getTrackerAssociation:getTrackerAssociation": 0, "aws:location/getTrackerAssociations:getTrackerAssociations": 0, + "aws:mediaconvert/getQueue:getQueue": 0, "aws:memorydb/getAcl:getAcl": 0, "aws:memorydb/getCluster:getCluster": 0, "aws:memorydb/getParameterGroup:getParameterGroup": 0, @@ -220552,6 +222206,7 @@ "aws:elasticsearch/domain:Domain": "aws_elasticsearch_domain", "aws:elasticsearch/domainPolicy:DomainPolicy": "aws_elasticsearch_domain_policy", "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": "aws_elasticsearch_domain_saml_options", + "aws:elasticsearch/vpcEndpoint:VpcEndpoint": "aws_elasticsearch_vpc_endpoint", "aws:elastictranscoder/pipeline:Pipeline": "aws_elastictranscoder_pipeline", "aws:elastictranscoder/preset:Preset": "aws_elastictranscoder_preset", "aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy": "aws_app_cookie_stickiness_policy", @@ -220692,6 +222347,7 @@ "aws:inspector2/organizationConfiguration:OrganizationConfiguration": "aws_inspector2_organization_configuration", "aws:iot/authorizer:Authorizer": "aws_iot_authorizer", "aws:iot/certificate:Certificate": "aws_iot_certificate", + "aws:iot/domainConfiguration:DomainConfiguration": "aws_iot_domain_configuration", "aws:iot/indexingConfiguration:IndexingConfiguration": "aws_iot_indexing_configuration", "aws:iot/loggingOptions:LoggingOptions": "aws_iot_logging_options", "aws:iot/policy:Policy": "aws_iot_policy", @@ -220822,6 +222478,7 @@ "aws:msk/cluster:Cluster": "aws_msk_cluster", "aws:msk/clusterPolicy:ClusterPolicy": "aws_msk_cluster_policy", "aws:msk/configuration:Configuration": "aws_msk_configuration", + "aws:msk/replicator:Replicator": "aws_msk_replicator", "aws:msk/scramSecretAssociation:ScramSecretAssociation": "aws_msk_scram_secret_association", "aws:msk/serverlessCluster:ServerlessCluster": "aws_msk_serverless_cluster", "aws:msk/vpcConnection:VpcConnection": "aws_msk_vpc_connection", @@ -221633,6 +223290,7 @@ "aws:location/getTracker:getTracker": "aws_location_tracker", "aws:location/getTrackerAssociation:getTrackerAssociation": "aws_location_tracker_association", "aws:location/getTrackerAssociations:getTrackerAssociations": "aws_location_tracker_associations", + "aws:mediaconvert/getQueue:getQueue": "aws_media_convert_queue", "aws:memorydb/getAcl:getAcl": "aws_memorydb_acl", "aws:memorydb/getCluster:getCluster": "aws_memorydb_cluster", "aws:memorydb/getParameterGroup:getParameterGroup": "aws_memorydb_parameter_group", @@ -222086,6 +223744,9 @@ "onDeregistration": "on_deregistration", "onUnhealthy": "on_unhealthy" }, + "aws:alb/TargetGroupTargetHealthState:TargetGroupTargetHealthState": { + "enableUnhealthyConnectionTermination": "enable_unhealthy_connection_termination" + }, "aws:alb/getListener:getListener": { "alpnPolicy": "alpn_policy", "certificateArn": "certificate_arn", @@ -222210,6 +223871,7 @@ "customerOwnedIpv4Pool": "customer_owned_ipv4_pool", "desyncMitigationMode": "desync_mitigation_mode", "dnsName": "dns_name", + "dnsRecordClientRoutingPolicy": "dns_record_client_routing_policy", "dropInvalidHeaderFields": "drop_invalid_header_fields", "enableCrossZoneLoadBalancing": "enable_cross_zone_load_balancing", "enableDeletionProtection": "enable_deletion_protection", @@ -222245,6 +223907,7 @@ "slowStart": "slow_start", "tagsAll": "tags_all", "targetFailovers": "target_failover", + "targetHealthStates": "target_health_state", "targetType": "target_type", "vpcId": "vpc_id" }, @@ -225971,6 +227634,7 @@ "targetVersion": "target_version" }, "aws:cfg/rule:Rule": { + "evaluationModes": "evaluation_mode", "inputParameters": "input_parameters", "maximumExecutionFrequency": "maximum_execution_frequency", "ruleId": "rule_id", @@ -233268,6 +234932,7 @@ "dnsServers": "dns_servers", "securityGroupIds": "security_group_ids", "selfServicePortal": "self_service_portal", + "selfServicePortalUrl": "self_service_portal_url", "serverCertificateArn": "server_certificate_arn", "sessionTimeoutHours": "session_timeout_hours", "splitTunnel": "split_tunnel", @@ -233288,6 +234953,7 @@ "filters": "filter", "securityGroupIds": "security_group_ids", "selfServicePortal": "self_service_portal", + "selfServicePortalUrl": "self_service_portal_url", "serverCertificateArn": "server_certificate_arn", "sessionTimeoutHours": "session_timeout_hours", "splitTunnel": "split_tunnel", @@ -234470,11 +236136,13 @@ "engineVersionActual": "engine_version_actual", "finalSnapshotIdentifier": "final_snapshot_identifier", "globalReplicationGroupId": "global_replication_group_id", + "ipDiscovery": "ip_discovery", "kmsKeyId": "kms_key_id", "logDeliveryConfigurations": "log_delivery_configuration", "maintenanceWindow": "maintenance_window", "memberClusters": "member_clusters", "multiAzEnabled": "multi_az_enabled", + "networkType": "network_type", "nodeType": "node_type", "notificationTopicArn": "notification_topic_arn", "numCacheClusters": "num_cache_clusters", @@ -234643,6 +236311,12 @@ "subnetIds": "subnet_ids", "vpcId": "vpc_id" }, + "aws:elasticsearch/VpcEndpointVpcOptions:VpcEndpointVpcOptions": { + "availabilityZones": "availability_zones", + "securityGroupIds": "security_group_ids", + "subnetIds": "subnet_ids", + "vpcId": "vpc_id" + }, "aws:elasticsearch/domain:Domain": { "accessPolicies": "access_policies", "advancedOptions": "advanced_options", @@ -234744,6 +236418,10 @@ "subnetIds": "subnet_ids", "vpcId": "vpc_id" }, + "aws:elasticsearch/vpcEndpoint:VpcEndpoint": { + "domainArn": "domain_arn", + "vpcOptions": "vpc_options" + }, "aws:elastictranscoder/PipelineContentConfig:PipelineContentConfig": { "storageClass": "storage_class" }, @@ -237215,6 +238893,14 @@ "accountId": "account_id", "launchTemplateId": "launch_template_id" }, + "aws:imagebuilder/ImageImageScanningConfiguration:ImageImageScanningConfiguration": { + "ecrConfiguration": "ecr_configuration", + "imageScanningEnabled": "image_scanning_enabled" + }, + "aws:imagebuilder/ImageImageScanningConfigurationEcrConfiguration:ImageImageScanningConfigurationEcrConfiguration": { + "containerTags": "container_tags", + "repositoryName": "repository_name" + }, "aws:imagebuilder/ImageImageTestsConfiguration:ImageImageTestsConfiguration": { "imageTestsEnabled": "image_tests_enabled", "timeoutMinutes": "timeout_minutes" @@ -237403,11 +239089,20 @@ "distributionConfigurationArn": "distribution_configuration_arn", "enhancedImageMetadataEnabled": "enhanced_image_metadata_enabled", "imageRecipeArn": "image_recipe_arn", + "imageScanningConfigurations": "image_scanning_configuration", "imageTestsConfigurations": "image_tests_configuration", "infrastructureConfigurationArn": "infrastructure_configuration_arn", "osVersion": "os_version", "outputResources": "output_resources" }, + "aws:imagebuilder/getImageImageScanningConfiguration:getImageImageScanningConfiguration": { + "ecrConfigurations": "ecr_configuration", + "imageScanningEnabled": "image_scanning_enabled" + }, + "aws:imagebuilder/getImageImageScanningConfigurationEcrConfiguration:getImageImageScanningConfigurationEcrConfiguration": { + "containerTags": "container_tags", + "repositoryName": "repository_name" + }, "aws:imagebuilder/getImageImageTestsConfiguration:getImageImageTestsConfiguration": { "imageTestsEnabled": "image_tests_enabled", "timeoutMinutes": "timeout_minutes" @@ -237512,6 +239207,7 @@ "distributionConfigurationArn": "distribution_configuration_arn", "enhancedImageMetadataEnabled": "enhanced_image_metadata_enabled", "imageRecipeArn": "image_recipe_arn", + "imageScanningConfiguration": "image_scanning_configuration", "imageTestsConfiguration": "image_tests_configuration", "infrastructureConfigurationArn": "infrastructure_configuration_arn", "osVersion": "os_version", @@ -237675,6 +239371,13 @@ "autoEnable": "auto_enable", "maxAccountLimitReached": "max_account_limit_reached" }, + "aws:iot/DomainConfigurationAuthorizerConfig:DomainConfigurationAuthorizerConfig": { + "allowAuthorizerOverride": "allow_authorizer_override", + "defaultAuthorizerName": "default_authorizer_name" + }, + "aws:iot/DomainConfigurationTlsConfig:DomainConfigurationTlsConfig": { + "securityPolicy": "security_policy" + }, "aws:iot/IndexingConfigurationThingGroupIndexingConfiguration:IndexingConfigurationThingGroupIndexingConfiguration": { "customFields": "custom_field", "managedFields": "managed_field", @@ -237688,6 +239391,9 @@ "thingConnectivityIndexingMode": "thing_connectivity_indexing_mode", "thingIndexingMode": "thing_indexing_mode" }, + "aws:iot/IndexingConfigurationThingIndexingConfigurationFilter:IndexingConfigurationThingIndexingConfigurationFilter": { + "namedShadowNames": "named_shadow_names" + }, "aws:iot/ProvisioningTemplatePreProvisioningHook:ProvisioningTemplatePreProvisioningHook": { "payloadVersion": "payload_version", "targetArn": "target_arn" @@ -237934,6 +239640,16 @@ "privateKey": "private_key", "publicKey": "public_key" }, + "aws:iot/domainConfiguration:DomainConfiguration": { + "authorizerConfig": "authorizer_config", + "domainName": "domain_name", + "domainType": "domain_type", + "serverCertificateArns": "server_certificate_arns", + "serviceType": "service_type", + "tagsAll": "tags_all", + "tlsConfig": "tls_config", + "validationCertificateArn": "validation_certificate_arn" + }, "aws:iot/getEndpoint:getEndpoint": { "endpointAddress": "endpoint_address", "endpointType": "endpoint_type" @@ -239436,6 +241152,7 @@ "maxAge": "max_age" }, "aws:lambda/FunctionVpcConfig:FunctionVpcConfig": { + "ipv6AllowedForDualStack": "ipv6_allowed_for_dual_stack", "securityGroupIds": "security_group_ids", "subnetIds": "subnet_ids", "vpcId": "vpc_id" @@ -239759,6 +241476,9 @@ "onDeregistration": "on_deregistration", "onUnhealthy": "on_unhealthy" }, + "aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState": { + "enableUnhealthyConnectionTermination": "enable_unhealthy_connection_termination" + }, "aws:lb/getHostedZoneId:getHostedZoneId": { "loadBalancerType": "load_balancer_type" }, @@ -239886,6 +241606,7 @@ "customerOwnedIpv4Pool": "customer_owned_ipv4_pool", "desyncMitigationMode": "desync_mitigation_mode", "dnsName": "dns_name", + "dnsRecordClientRoutingPolicy": "dns_record_client_routing_policy", "dropInvalidHeaderFields": "drop_invalid_header_fields", "enableCrossZoneLoadBalancing": "enable_cross_zone_load_balancing", "enableDeletionProtection": "enable_deletion_protection", @@ -239921,6 +241642,7 @@ "slowStart": "slow_start", "tagsAll": "tags_all", "targetFailovers": "target_failover", + "targetHealthStates": "target_health_state", "targetType": "target_type", "vpcId": "vpc_id" }, @@ -241958,6 +243680,39 @@ "aws:msk/ClusterOpenMonitoringPrometheusNodeExporter:ClusterOpenMonitoringPrometheusNodeExporter": { "enabledInBroker": "enabled_in_broker" }, + "aws:msk/ReplicatorKafkaCluster:ReplicatorKafkaCluster": { + "amazonMskCluster": "amazon_msk_cluster", + "vpcConfig": "vpc_config" + }, + "aws:msk/ReplicatorKafkaClusterAmazonMskCluster:ReplicatorKafkaClusterAmazonMskCluster": { + "mskClusterArn": "msk_cluster_arn" + }, + "aws:msk/ReplicatorKafkaClusterVpcConfig:ReplicatorKafkaClusterVpcConfig": { + "securityGroupsIds": "security_groups_ids", + "subnetIds": "subnet_ids" + }, + "aws:msk/ReplicatorReplicationInfoList:ReplicatorReplicationInfoList": { + "consumerGroupReplications": "consumer_group_replication", + "sourceKafkaClusterAlias": "source_kafka_cluster_alias", + "sourceKafkaClusterArn": "source_kafka_cluster_arn", + "targetCompressionType": "target_compression_type", + "targetKafkaClusterAlias": "target_kafka_cluster_alias", + "targetKafkaClusterArn": "target_kafka_cluster_arn", + "topicReplications": "topic_replication" + }, + "aws:msk/ReplicatorReplicationInfoListConsumerGroupReplication:ReplicatorReplicationInfoListConsumerGroupReplication": { + "consumerGroupsToExcludes": "consumer_groups_to_exclude", + "consumerGroupsToReplicates": "consumer_groups_to_replicate", + "detectAndCopyNewConsumerGroups": "detect_and_copy_new_consumer_groups", + "synchroniseConsumerGroupOffsets": "synchronise_consumer_group_offsets" + }, + "aws:msk/ReplicatorReplicationInfoListTopicReplication:ReplicatorReplicationInfoListTopicReplication": { + "copyAccessControlListsForTopics": "copy_access_control_lists_for_topics", + "copyTopicConfigurations": "copy_topic_configurations", + "detectAndCopyNewTopics": "detect_and_copy_new_topics", + "topicsToExcludes": "topics_to_exclude", + "topicsToReplicates": "topics_to_replicate" + }, "aws:msk/ServerlessClusterVpcConfig:ServerlessClusterVpcConfig": { "securityGroupIds": "security_group_ids", "subnetIds": "subnet_ids" @@ -242039,6 +243794,14 @@ "targetClusterArn": "target_cluster_arn", "vpcId": "vpc_id" }, + "aws:msk/replicator:Replicator": { + "currentVersion": "current_version", + "kafkaClusters": "kafka_cluster", + "replicationInfoList": "replication_info_list", + "replicatorName": "replicator_name", + "serviceExecutionRoleArn": "service_execution_role_arn", + "tagsAll": "tags_all" + }, "aws:msk/scramSecretAssociation:ScramSecretAssociation": { "clusterArn": "cluster_arn", "secretArnLists": "secret_arn_list" @@ -339237,6 +341000,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339264,6 +341028,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339295,6 +341062,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339322,6 +341090,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339337,6 +341108,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339364,6 +341136,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339380,6 +341155,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339407,6 +341183,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339422,6 +341201,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339449,6 +341229,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339464,6 +341247,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339491,6 +341275,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339508,6 +341295,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339535,6 +341323,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339581,6 +341372,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339608,6 +341400,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339639,6 +341434,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339666,6 +341462,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339681,6 +341480,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339708,6 +341508,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339724,6 +341527,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339751,6 +341555,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339766,6 +341573,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339793,6 +341601,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339808,6 +341619,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339835,6 +341647,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339866,6 +341681,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339893,6 +341709,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339924,6 +341743,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339951,6 +341771,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -339966,6 +341789,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -339993,6 +341817,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340009,6 +341836,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340036,6 +341864,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340051,6 +341882,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340078,6 +341910,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340093,6 +341928,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340120,6 +341956,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340136,6 +341975,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340163,6 +342003,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340178,6 +342021,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340205,6 +342049,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340221,6 +342068,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340248,6 +342096,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340263,6 +342114,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340290,6 +342142,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340305,6 +342160,7 @@ }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340332,6 +342188,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340349,6 +342208,7 @@ }, "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340376,6 +342236,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340439,6 +342302,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340466,6 +342330,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340497,6 +342364,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340524,6 +342392,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340539,6 +342410,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340566,6 +342438,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340582,6 +342457,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340609,6 +342485,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340624,6 +342503,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340651,6 +342531,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340666,6 +342549,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340693,6 +342577,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340710,6 +342597,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340737,6 +342625,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340783,6 +342674,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340810,6 +342702,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340841,6 +342736,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340868,6 +342764,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340883,6 +342782,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340910,6 +342810,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340926,6 +342829,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340953,6 +342857,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -340968,6 +342875,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -340995,6 +342903,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341010,6 +342921,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341037,6 +342949,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341068,6 +342983,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341095,6 +343011,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341126,6 +343045,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341153,6 +343073,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341168,6 +343091,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341195,6 +343119,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341211,6 +343138,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341238,6 +343166,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341253,6 +343184,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341280,6 +343212,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341295,6 +343230,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341322,6 +343258,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341338,6 +343277,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341365,6 +343305,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341380,6 +343323,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341407,6 +343351,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341423,6 +343370,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341450,6 +343398,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341465,6 +343416,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341492,6 +343444,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341507,6 +343462,7 @@ }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341534,6 +343490,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341582,6 +343541,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341609,6 +343569,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341640,6 +343603,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341667,6 +343631,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341682,6 +343649,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341709,6 +343677,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341725,6 +343696,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341752,6 +343724,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341767,6 +343742,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341794,6 +343770,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341809,6 +343788,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341836,6 +343816,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341853,6 +343836,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341880,6 +343864,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341926,6 +343913,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -341953,6 +343941,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -341984,6 +343975,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342011,6 +344003,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342026,6 +344021,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342053,6 +344049,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342069,6 +344068,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342096,6 +344096,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342111,6 +344114,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342138,6 +344142,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342153,6 +344160,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342180,6 +344188,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342211,6 +344222,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342238,6 +344250,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342269,6 +344284,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342296,6 +344312,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342311,6 +344330,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342338,6 +344358,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342354,6 +344377,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342381,6 +344405,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342396,6 +344423,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342423,6 +344451,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342438,6 +344469,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342465,6 +344497,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342481,6 +344516,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342508,6 +344544,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342523,6 +344562,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342550,6 +344590,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342566,6 +344609,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342593,6 +344637,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342608,6 +344655,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342635,6 +344683,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342650,6 +344701,7 @@ }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342677,6 +344729,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342755,6 +344810,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342782,6 +344838,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342813,6 +344872,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342840,6 +344900,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342855,6 +344918,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342882,6 +344946,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342898,6 +344965,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342925,6 +344993,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342940,6 +345011,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -342967,6 +345039,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -342982,6 +345057,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343009,6 +345085,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343026,6 +345105,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343053,6 +345133,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343099,6 +345182,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343126,6 +345210,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343157,6 +345244,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343184,6 +345272,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343199,6 +345290,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343226,6 +345318,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343242,6 +345337,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343269,6 +345365,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343284,6 +345383,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343311,6 +345411,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343326,6 +345429,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343353,6 +345457,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343384,6 +345491,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343411,6 +345519,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343442,6 +345553,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343469,6 +345581,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343484,6 +345599,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343511,6 +345627,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343527,6 +345646,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343554,6 +345674,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343569,6 +345692,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343596,6 +345720,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343611,6 +345738,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343638,6 +345766,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343654,6 +345785,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343681,6 +345813,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343696,6 +345831,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343723,6 +345859,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343739,6 +345878,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343766,6 +345906,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343781,6 +345924,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343808,6 +345952,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343823,6 +345970,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343850,6 +345998,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343866,6 +346017,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatch:RuleGroupRuleStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343893,6 +346045,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343908,6 +346063,7 @@ }, "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343935,6 +346091,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343951,6 +346110,7 @@ }, "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch:RuleGroupRuleStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -343978,6 +346138,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -343993,6 +346156,7 @@ }, "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatch:RuleGroupRuleStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344020,6 +346184,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344035,6 +346202,7 @@ }, "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatch:RuleGroupRuleStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344062,6 +346230,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344249,6 +346420,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344276,6 +346448,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344307,6 +346482,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344334,6 +346510,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344349,6 +346528,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344376,6 +346556,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344392,6 +346575,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344419,6 +346603,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344434,6 +346621,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344461,6 +346649,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344476,6 +346667,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344503,6 +346695,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344520,6 +346715,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344547,6 +346743,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344593,6 +346792,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344620,6 +346820,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344651,6 +346854,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344678,6 +346882,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344693,6 +346900,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344720,6 +346928,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344736,6 +346947,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344763,6 +346975,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344778,6 +346993,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344805,6 +347021,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344820,6 +347039,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344847,6 +347067,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344878,6 +347101,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344905,6 +347129,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344936,6 +347163,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -344963,6 +347191,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -344978,6 +347209,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345005,6 +347237,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345021,6 +347256,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345048,6 +347284,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345063,6 +347302,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345090,6 +347330,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345105,6 +347348,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345132,6 +347376,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345148,6 +347395,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345175,6 +347423,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345190,6 +347441,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345217,6 +347469,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345233,6 +347488,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345260,6 +347516,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345275,6 +347534,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345302,6 +347562,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345317,6 +347580,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345344,6 +347608,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345361,6 +347628,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345388,6 +347656,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345451,6 +347722,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345478,6 +347750,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345509,6 +347784,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345536,6 +347812,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345551,6 +347830,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345578,6 +347858,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345594,6 +347877,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345621,6 +347905,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345636,6 +347923,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345663,6 +347951,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345678,6 +347969,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345705,6 +347997,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345722,6 +348017,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345749,6 +348045,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345795,6 +348094,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345822,6 +348122,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345853,6 +348156,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345880,6 +348184,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345895,6 +348202,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345922,6 +348230,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345938,6 +348249,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -345965,6 +348277,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -345980,6 +348295,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346007,6 +348323,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346022,6 +348341,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346049,6 +348369,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346080,6 +348403,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346107,6 +348431,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346138,6 +348465,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346165,6 +348493,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346180,6 +348511,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346207,6 +348539,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346223,6 +348558,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346250,6 +348586,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346265,6 +348604,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346292,6 +348632,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346307,6 +348650,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346334,6 +348678,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346350,6 +348697,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346377,6 +348725,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346392,6 +348743,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346419,6 +348771,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346435,6 +348790,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346462,6 +348818,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346477,6 +348836,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346504,6 +348864,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346519,6 +348882,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346546,6 +348910,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346594,6 +348961,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346621,6 +348989,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346652,6 +349023,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346679,6 +349051,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346694,6 +349069,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346721,6 +349097,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346737,6 +349116,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346764,6 +349144,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346779,6 +349162,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346806,6 +349190,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346821,6 +349208,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346848,6 +349236,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346865,6 +349256,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346892,6 +349284,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346938,6 +349333,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -346965,6 +349361,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -346996,6 +349395,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347023,6 +349423,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347038,6 +349441,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347065,6 +349469,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347081,6 +349488,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347108,6 +349516,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347123,6 +349534,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347150,6 +349562,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347165,6 +349580,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347192,6 +349608,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347223,6 +349642,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347250,6 +349670,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347281,6 +349704,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347308,6 +349732,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347323,6 +349750,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347350,6 +349778,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347366,6 +349797,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347393,6 +349825,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347408,6 +349843,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347435,6 +349871,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347450,6 +349889,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347477,6 +349917,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347493,6 +349936,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347520,6 +349964,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347535,6 +349982,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347562,6 +350010,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347578,6 +350029,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347605,6 +350057,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347620,6 +350075,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347647,6 +350103,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347662,6 +350121,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347689,6 +350149,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347705,6 +350168,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347732,6 +350196,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347747,6 +350214,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347774,6 +350242,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347790,6 +350261,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347817,6 +350289,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347832,6 +350307,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347859,6 +350335,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347874,6 +350353,7 @@ }, "aws:wafv2/WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347901,6 +350381,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -347918,6 +350401,7 @@ }, "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatch:WebAclRuleStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -347945,6 +350429,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348139,6 +350626,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348166,6 +350654,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348197,6 +350688,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348224,6 +350716,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348239,6 +350734,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348266,6 +350762,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348282,6 +350781,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348309,6 +350809,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348324,6 +350827,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348351,6 +350855,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348366,6 +350873,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348393,6 +350901,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348410,6 +350921,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348437,6 +350949,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348483,6 +350998,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348510,6 +351026,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348541,6 +351060,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348568,6 +351088,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348583,6 +351106,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348610,6 +351134,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348626,6 +351153,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348653,6 +351181,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348668,6 +351199,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348695,6 +351227,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348710,6 +351245,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348737,6 +351273,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348768,6 +351307,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348795,6 +351335,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348826,6 +351369,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348853,6 +351397,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348868,6 +351415,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348895,6 +351443,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348911,6 +351462,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348938,6 +351490,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348953,6 +351508,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -348980,6 +351536,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -348995,6 +351554,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349022,6 +351582,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349038,6 +351601,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349065,6 +351629,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349080,6 +351647,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349107,6 +351675,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349123,6 +351694,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349150,6 +351722,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349165,6 +351740,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349192,6 +351768,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349207,6 +351786,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349234,6 +351814,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349251,6 +351834,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349278,6 +351862,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349341,6 +351928,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349368,6 +351956,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349399,6 +351990,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349426,6 +352018,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349441,6 +352036,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349468,6 +352064,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349484,6 +352083,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349511,6 +352111,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349526,6 +352129,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349553,6 +352157,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349568,6 +352175,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349595,6 +352203,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349612,6 +352223,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349639,6 +352251,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349685,6 +352300,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349712,6 +352328,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349743,6 +352362,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349770,6 +352390,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349785,6 +352408,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349812,6 +352436,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349828,6 +352455,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349855,6 +352483,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349870,6 +352501,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349897,6 +352529,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349912,6 +352547,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349939,6 +352575,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -349970,6 +352609,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -349997,6 +352637,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350028,6 +352671,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350055,6 +352699,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350070,6 +352717,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350097,6 +352745,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350113,6 +352764,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350140,6 +352792,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350155,6 +352810,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350182,6 +352838,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350197,6 +352856,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350224,6 +352884,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350240,6 +352903,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350267,6 +352931,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350282,6 +352949,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350309,6 +352977,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350325,6 +352996,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350352,6 +353024,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350367,6 +353042,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350394,6 +353070,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350409,6 +353088,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350436,6 +353116,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350484,6 +353167,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350511,6 +353195,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350542,6 +353229,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350569,6 +353257,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350584,6 +353275,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350611,6 +353303,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350627,6 +353322,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350654,6 +353350,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350669,6 +353368,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350696,6 +353396,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350711,6 +353414,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350738,6 +353442,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350755,6 +353462,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350782,6 +353490,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350828,6 +353539,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350855,6 +353567,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350886,6 +353601,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350913,6 +353629,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350928,6 +353647,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350955,6 +353675,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -350971,6 +353694,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -350998,6 +353722,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351013,6 +353740,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351040,6 +353768,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351055,6 +353786,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351082,6 +353814,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351113,6 +353848,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351140,6 +353876,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351171,6 +353910,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351198,6 +353938,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351213,6 +353956,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351240,6 +353984,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351256,6 +354003,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351283,6 +354031,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351298,6 +354049,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351325,6 +354077,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351340,6 +354095,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351367,6 +354123,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351383,6 +354142,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351410,6 +354170,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351425,6 +354188,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351452,6 +354216,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351468,6 +354235,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351495,6 +354263,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351510,6 +354281,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351537,6 +354309,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351552,6 +354327,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351579,6 +354355,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351595,6 +354374,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351622,6 +354402,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351637,6 +354420,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351664,6 +354448,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351680,6 +354467,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351707,6 +354495,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351722,6 +354513,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351749,6 +354541,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351764,6 +354559,7 @@ }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351791,6 +354587,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351856,6 +354655,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351883,6 +354683,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351914,6 +354717,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351941,6 +354745,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351956,6 +354763,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -351983,6 +354791,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -351999,6 +354810,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352026,6 +354838,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352041,6 +354856,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352068,6 +354884,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352083,6 +354902,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352110,6 +354930,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352127,6 +354950,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352154,6 +354978,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352200,6 +355027,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352227,6 +355055,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352258,6 +355089,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352285,6 +355117,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352300,6 +355135,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352327,6 +355163,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352343,6 +355182,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352370,6 +355210,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352385,6 +355228,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352412,6 +355256,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352427,6 +355274,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352454,6 +355302,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352485,6 +355336,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352512,6 +355364,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352543,6 +355398,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352570,6 +355426,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352585,6 +355444,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352612,6 +355472,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352628,6 +355491,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352655,6 +355519,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352670,6 +355537,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352697,6 +355565,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352712,6 +355583,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352739,6 +355611,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352755,6 +355630,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352782,6 +355658,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352797,6 +355676,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352824,6 +355704,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352840,6 +355723,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352867,6 +355751,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352882,6 +355769,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352909,6 +355797,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352924,6 +355815,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352951,6 +355843,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -352968,6 +355863,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -352995,6 +355891,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353058,6 +355957,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353085,6 +355985,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353116,6 +356019,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353143,6 +356047,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353158,6 +356065,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353185,6 +356093,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353201,6 +356112,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353228,6 +356140,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353243,6 +356158,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353270,6 +356186,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353285,6 +356204,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353312,6 +356232,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353329,6 +356252,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353356,6 +356280,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353402,6 +356329,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353429,6 +356357,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353460,6 +356391,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353487,6 +356419,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353502,6 +356437,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353529,6 +356465,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353545,6 +356484,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353572,6 +356512,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353587,6 +356530,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353614,6 +356558,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353629,6 +356576,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353656,6 +356604,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353687,6 +356638,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353714,6 +356666,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353745,6 +356700,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353772,6 +356728,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353787,6 +356746,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353814,6 +356774,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353830,6 +356793,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353857,6 +356821,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353872,6 +356839,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353899,6 +356867,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353914,6 +356885,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353941,6 +356913,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353957,6 +356932,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -353984,6 +356960,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -353999,6 +356978,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354026,6 +357006,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354042,6 +357025,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354069,6 +357053,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354084,6 +357071,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354111,6 +357099,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354126,6 +357117,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354153,6 +357145,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354201,6 +357196,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354228,6 +357224,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354259,6 +357258,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354286,6 +357286,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354301,6 +357304,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354328,6 +357332,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354344,6 +357351,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354371,6 +357379,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354386,6 +357397,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354413,6 +357425,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354428,6 +357443,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354455,6 +357471,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354472,6 +357491,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354499,6 +357519,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354545,6 +357568,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354572,6 +357596,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354603,6 +357630,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354630,6 +357658,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354645,6 +357676,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354672,6 +357704,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354688,6 +357723,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354715,6 +357751,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354730,6 +357769,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354757,6 +357797,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354772,6 +357815,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354799,6 +357843,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354830,6 +357877,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354857,6 +357905,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354888,6 +357939,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354915,6 +357967,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354930,6 +357985,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -354957,6 +358013,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -354973,6 +358032,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355000,6 +358060,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355015,6 +358078,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355042,6 +358106,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355057,6 +358124,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355084,6 +358152,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355100,6 +358171,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355127,6 +358199,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355142,6 +358217,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355169,6 +358245,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355185,6 +358264,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355212,6 +358292,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355227,6 +358310,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355254,6 +358338,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355269,6 +358356,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355296,6 +358384,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355312,6 +358403,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355339,6 +358431,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355354,6 +358449,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355381,6 +358477,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355397,6 +358496,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355424,6 +358524,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355439,6 +358542,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355466,6 +358570,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355481,6 +358588,7 @@ }, "aws:wafv2/WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355508,6 +358616,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355573,6 +358684,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355600,6 +358712,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355631,6 +358746,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355658,6 +358774,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355673,6 +358792,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355700,6 +358820,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355716,6 +358839,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355743,6 +358867,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355758,6 +358885,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355785,6 +358913,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355800,6 +358931,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355827,6 +358959,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355844,6 +358979,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355871,6 +359007,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355917,6 +359056,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -355944,6 +359084,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -355975,6 +359118,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356002,6 +359146,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356017,6 +359164,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356044,6 +359192,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356060,6 +359211,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356087,6 +359239,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356102,6 +359257,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356129,6 +359285,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356144,6 +359303,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356171,6 +359331,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356202,6 +359365,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356229,6 +359393,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356260,6 +359427,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356287,6 +359455,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356302,6 +359473,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356329,6 +359501,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356345,6 +359520,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356372,6 +359548,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356387,6 +359566,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356414,6 +359594,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356429,6 +359612,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356456,6 +359640,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356472,6 +359659,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356499,6 +359687,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356514,6 +359705,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356541,6 +359733,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356557,6 +359752,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356584,6 +359780,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356599,6 +359798,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356626,6 +359826,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356641,6 +359844,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356668,6 +359872,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356685,6 +359892,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356712,6 +359920,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356775,6 +359986,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356802,6 +360014,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356833,6 +360048,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356860,6 +360076,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356875,6 +360094,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356902,6 +360122,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356918,6 +360141,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356945,6 +360169,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -356960,6 +360187,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -356987,6 +360215,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357002,6 +360233,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357029,6 +360261,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357046,6 +360281,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357073,6 +360309,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357119,6 +360358,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357146,6 +360386,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357177,6 +360420,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357204,6 +360448,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357219,6 +360466,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357246,6 +360494,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357262,6 +360513,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357289,6 +360541,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357304,6 +360559,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357331,6 +360587,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357346,6 +360605,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357373,6 +360633,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357404,6 +360667,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357431,6 +360695,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357462,6 +360729,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357489,6 +360757,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357504,6 +360775,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357531,6 +360803,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357547,6 +360822,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357574,6 +360850,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357589,6 +360868,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357616,6 +360896,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357631,6 +360914,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357658,6 +360942,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357674,6 +360961,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357701,6 +360989,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357716,6 +361007,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357743,6 +361035,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357759,6 +361054,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357786,6 +361082,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357801,6 +361100,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357828,6 +361128,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357843,6 +361146,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357870,6 +361174,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357918,6 +361225,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -357945,6 +361253,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -357976,6 +361287,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358003,6 +361315,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358018,6 +361333,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358045,6 +361361,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358061,6 +361380,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358088,6 +361408,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358103,6 +361426,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358130,6 +361454,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358145,6 +361472,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358172,6 +361500,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358189,6 +361520,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358216,6 +361548,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358262,6 +361597,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358289,6 +361625,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358320,6 +361659,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358347,6 +361687,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358362,6 +361705,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358389,6 +361733,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358405,6 +361752,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358432,6 +361780,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358447,6 +361798,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358474,6 +361826,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358489,6 +361844,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358516,6 +361872,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358547,6 +361906,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358574,6 +361934,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358605,6 +361968,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358632,6 +361996,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358647,6 +362014,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358674,6 +362042,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358690,6 +362061,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358717,6 +362089,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358732,6 +362107,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358759,6 +362135,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358774,6 +362153,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358801,6 +362181,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358817,6 +362200,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358844,6 +362228,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358859,6 +362246,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358886,6 +362274,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358902,6 +362293,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358929,6 +362321,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358944,6 +362339,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -358971,6 +362367,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -358986,6 +362385,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359013,6 +362413,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359029,6 +362432,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359056,6 +362460,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359071,6 +362478,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359098,6 +362506,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359114,6 +362525,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359141,6 +362553,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359156,6 +362571,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359183,6 +362599,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359198,6 +362617,7 @@ }, "aws:wafv2/WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359225,6 +362645,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359320,6 +362743,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359347,6 +362771,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359378,6 +362805,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359405,6 +362833,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359420,6 +362851,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359447,6 +362879,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359463,6 +362898,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359490,6 +362926,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359505,6 +362944,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359532,6 +362972,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359547,6 +362990,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359574,6 +363018,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359591,6 +363038,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359618,6 +363066,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359664,6 +363115,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359691,6 +363143,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359722,6 +363177,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359749,6 +363205,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359764,6 +363223,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359791,6 +363251,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359807,6 +363270,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359834,6 +363298,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359849,6 +363316,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359876,6 +363344,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359891,6 +363362,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359918,6 +363390,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -359949,6 +363424,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -359976,6 +363452,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360007,6 +363486,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360034,6 +363514,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360049,6 +363532,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360076,6 +363560,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360092,6 +363579,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360119,6 +363607,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360134,6 +363625,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360161,6 +363653,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360176,6 +363671,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360203,6 +363699,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360219,6 +363718,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360246,6 +363746,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360261,6 +363764,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360288,6 +363792,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360304,6 +363811,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360331,6 +363839,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360346,6 +363857,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360373,6 +363885,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360388,6 +363903,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360415,6 +363931,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360432,6 +363951,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360459,6 +363979,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360522,6 +364045,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360549,6 +364073,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360580,6 +364107,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360607,6 +364135,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360622,6 +364153,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360649,6 +364181,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360665,6 +364200,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360692,6 +364228,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360707,6 +364246,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360734,6 +364274,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360749,6 +364292,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360776,6 +364320,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360793,6 +364340,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360820,6 +364368,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360866,6 +364417,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360893,6 +364445,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360924,6 +364479,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360951,6 +364507,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -360966,6 +364525,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -360993,6 +364553,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361009,6 +364572,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361036,6 +364600,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361051,6 +364618,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361078,6 +364646,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361093,6 +364664,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361120,6 +364692,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361151,6 +364726,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361178,6 +364754,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361209,6 +364788,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361236,6 +364816,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361251,6 +364834,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361278,6 +364862,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361294,6 +364881,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361321,6 +364909,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361336,6 +364927,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361363,6 +364955,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361378,6 +364973,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361405,6 +365001,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361421,6 +365020,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361448,6 +365048,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361463,6 +365066,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361490,6 +365094,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361506,6 +365113,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361533,6 +365141,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361548,6 +365159,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361575,6 +365187,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361590,6 +365205,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361617,6 +365233,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361665,6 +365284,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361692,6 +365312,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361723,6 +365346,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361750,6 +365374,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361765,6 +365392,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361792,6 +365420,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361808,6 +365439,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361835,6 +365467,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361850,6 +365485,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361877,6 +365513,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361892,6 +365531,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361919,6 +365559,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementAndStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -361936,6 +365579,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -361963,6 +365607,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362009,6 +365656,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362036,6 +365684,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362067,6 +365718,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362094,6 +365746,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362109,6 +365764,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362136,6 +365792,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362152,6 +365811,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362179,6 +365839,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362194,6 +365857,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362221,6 +365885,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362236,6 +365903,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362263,6 +365931,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementNotStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362294,6 +365965,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362321,6 +365993,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementByteMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362352,6 +366027,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362379,6 +366055,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362394,6 +366073,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362421,6 +366101,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362437,6 +366120,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362464,6 +366148,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362479,6 +366166,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362506,6 +366194,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362521,6 +366212,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362548,6 +366240,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362564,6 +366259,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362591,6 +366287,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362606,6 +366305,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362633,6 +366333,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362649,6 +366352,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362676,6 +366380,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362691,6 +366398,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362718,6 +366426,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362733,6 +366444,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362760,6 +366472,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementOrStatementStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362776,6 +366491,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362803,6 +366519,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362818,6 +366537,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362845,6 +366565,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362861,6 +366584,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362888,6 +366612,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362903,6 +366630,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362930,6 +366658,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362945,6 +366676,7 @@ }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -362972,6 +366704,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -362988,6 +366723,7 @@ }, "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatch:WebAclRuleStatementRegexMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -363015,6 +366751,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -363030,6 +366769,7 @@ }, "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -363057,6 +366797,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -363111,6 +366854,7 @@ }, "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatch:WebAclRuleStatementSizeConstraintStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -363138,6 +366882,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -363153,6 +366900,7 @@ }, "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatch:WebAclRuleStatementSqliMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -363180,6 +366928,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", @@ -363195,6 +366946,7 @@ }, "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatch:WebAclRuleStatementXssMatchStatementFieldToMatch": { "allQueryArguments": "all_query_arguments", + "ja3Fingerprint": "ja3_fingerprint", "jsonBody": "json_body", "queryString": "query_string", "singleHeader": "single_header", @@ -363222,6 +366974,9 @@ "excludedHeaders": "excluded_headers", "includedHeaders": "included_headers" }, + "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "fallbackBehavior": "fallback_behavior" + }, "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody": { "invalidFallbackBehavior": "invalid_fallback_behavior", "matchPattern": "match_pattern", diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 27bdc27f4a1..f5ee366a89f 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -1664,6 +1664,18 @@ "onUnhealthy" ] }, + "aws:alb/TargetGroupTargetHealthState:TargetGroupTargetHealthState": { + "properties": { + "enableUnhealthyConnectionTermination": { + "type": "boolean", + "description": "Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`.\n" + } + }, + "type": "object", + "required": [ + "enableUnhealthyConnectionTermination" + ] + }, "aws:alb/getListenerDefaultAction:getListenerDefaultAction": { "properties": { "authenticateCognitos": { @@ -15637,293 +15649,301 @@ "type": "object", "required": [ "launchTemplateSpecification" - ] - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification": { - "properties": { - "launchTemplateId": { - "type": "string", - "description": "ID of the launch template. Conflicts with `launch_template_name`.\n" - }, - "launchTemplateName": { - "type": "string", - "description": "Name of the launch template. Conflicts with `launch_template_id`.\n" - }, - "version": { - "type": "string", - "description": "Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).\n" - } - }, - "type": "object", + ], "language": { "nodejs": { "requiredOutputs": [ - "launchTemplateId", - "launchTemplateName" + "launchTemplateSpecification", + "overrides" ] } } }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverride:GroupMixedInstancesPolicyLaunchTemplateOverride": { - "properties": { - "instanceRequirements": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements", - "description": "Override the instance type in the Launch Template with instance types that satisfy the requirements.\n" - }, - "instanceType": { - "type": "string", - "description": "Override the instance type in the Launch Template.\n" - }, - "launchTemplateSpecification": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification", - "description": "Override the instance launch template specification in the Launch Template.\n" - }, - "weightedCapacity": { - "type": "string", - "description": "Number of capacity units, which gives the instance type a proportional weight to other instance types.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements": { - "properties": { - "acceleratorCount": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount", - "description": "Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.\n" - }, - "acceleratorManufacturers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of accelerator manufacturer names. Default is any manufacturer.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "acceleratorNames": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of accelerator names. Default is any acclerator.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "acceleratorTotalMemoryMib": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib", - "description": "Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.\n" - }, - "acceleratorTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of accelerator types. Default is any accelerator type.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "allowedInstanceTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (\\*), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.\n\n\u003e **NOTE:** If you specify `allowed_instance_types`, you can't specify `excluded_instance_types`.\n" - }, - "bareMetal": { - "type": "string", - "description": "Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`.\n" - }, - "baselineEbsBandwidthMbps": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps", - "description": "Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.\n" - }, - "burstablePerformance": { - "type": "string", - "description": "Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`.\n" - }, - "cpuManufacturers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of CPU manufacturer names. Default is any manufacturer.\n\n\u003e **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "excludedInstanceTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\\*), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.\n\n\u003e **NOTE:** If you specify `excluded_instance_types`, you can't specify `allowed_instance_types`.\n" - }, - "instanceGenerations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of instance generation names. Default is any generation.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "localStorage": { - "type": "string", - "description": "Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`.\n" - }, - "localStorageTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of local storage type names. Default any storage type.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" - }, - "memoryGibPerVcpu": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu", - "description": "Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.\n" - }, - "memoryMib": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib", - "description": "Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.\n" - }, - "networkBandwidthGbps": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps", - "description": "Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.\n" - }, - "networkInterfaceCount": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount", - "description": "Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.\n" - }, - "onDemandMaxPricePercentageOverLowestPrice": { - "type": "integer", - "description": "Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.\n\nIf you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.\n" - }, - "requireHibernateSupport": { - "type": "boolean", - "description": "Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`.\n" - }, - "spotMaxPricePercentageOverLowestPrice": { - "type": "integer", - "description": "Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.\n\nIf you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.\n" - }, - "totalLocalStorageGb": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb", - "description": "Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.\n" - }, - "vcpuCount": { - "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount", - "description": "Block describing the minimum and maximum number of vCPUs. Default is no maximum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu": { - "properties": { - "max": { - "type": "number", - "description": "Maximum.\n" - }, - "min": { - "type": "number", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps": { - "properties": { - "max": { - "type": "number", - "description": "Maximum.\n" - }, - "min": { - "type": "number", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb": { - "properties": { - "max": { - "type": "number", - "description": "Maximum.\n" - }, - "min": { - "type": "number", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount": { - "properties": { - "max": { - "type": "integer", - "description": "Maximum.\n" - }, - "min": { - "type": "integer", - "description": "Minimum.\n" - } - }, - "type": "object" - }, - "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification": { + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification": { + "properties": { + "launchTemplateId": { + "type": "string", + "description": "ID of the launch template. Conflicts with `launch_template_name`.\n" + }, + "launchTemplateName": { + "type": "string", + "description": "Name of the launch template. Conflicts with `launch_template_id`.\n" + }, + "version": { + "type": "string", + "description": "Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "launchTemplateId", + "launchTemplateName" + ] + } + } + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverride:GroupMixedInstancesPolicyLaunchTemplateOverride": { + "properties": { + "instanceRequirements": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements", + "description": "Override the instance type in the Launch Template with instance types that satisfy the requirements.\n" + }, + "instanceType": { + "type": "string", + "description": "Override the instance type in the Launch Template.\n" + }, + "launchTemplateSpecification": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification", + "description": "Override the instance launch template specification in the Launch Template.\n" + }, + "weightedCapacity": { + "type": "string", + "description": "Number of capacity units, which gives the instance type a proportional weight to other instance types.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements": { + "properties": { + "acceleratorCount": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount", + "description": "Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.\n" + }, + "acceleratorManufacturers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of accelerator manufacturer names. Default is any manufacturer.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "acceleratorNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of accelerator names. Default is any acclerator.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "acceleratorTotalMemoryMib": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib", + "description": "Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.\n" + }, + "acceleratorTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of accelerator types. Default is any accelerator type.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "allowedInstanceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (\\*), to allow an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.\n\n\u003e **NOTE:** If you specify `allowed_instance_types`, you can't specify `excluded_instance_types`.\n" + }, + "bareMetal": { + "type": "string", + "description": "Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`.\n" + }, + "baselineEbsBandwidthMbps": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps", + "description": "Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.\n" + }, + "burstablePerformance": { + "type": "string", + "description": "Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`.\n" + }, + "cpuManufacturers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of CPU manufacturer names. Default is any manufacturer.\n\n\u003e **NOTE:** Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "excludedInstanceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\\*), to exclude an instance type, size, or generation. The following are examples: `m5.8xlarge`, `c5*.*`, `m5a.*`, `r*`, `*3*`. For example, if you specify `c5*`, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify `m5a.*`, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.\n\n\u003e **NOTE:** If you specify `excluded_instance_types`, you can't specify `allowed_instance_types`.\n" + }, + "instanceGenerations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of instance generation names. Default is any generation.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "localStorage": { + "type": "string", + "description": "Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`.\n" + }, + "localStorageTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of local storage type names. Default any storage type.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n }\n}\n```\n```yaml\n{}\n```\n" + }, + "memoryGibPerVcpu": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu", + "description": "Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.\n" + }, + "memoryMib": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib", + "description": "Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.\n" + }, + "networkBandwidthGbps": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps", + "description": "Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.\n" + }, + "networkInterfaceCount": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount", + "description": "Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.\n" + }, + "onDemandMaxPricePercentageOverLowestPrice": { + "type": "integer", + "description": "Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.\n\nIf you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.\n" + }, + "requireHibernateSupport": { + "type": "boolean", + "description": "Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`.\n" + }, + "spotMaxPricePercentageOverLowestPrice": { + "type": "integer", + "description": "Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.\n\nIf you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.\n" + }, + "totalLocalStorageGb": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb", + "description": "Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.\n" + }, + "vcpuCount": { + "$ref": "#/types/aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount", + "description": "Block describing the minimum and maximum number of vCPUs. Default is no maximum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu": { + "properties": { + "max": { + "type": "number", + "description": "Maximum.\n" + }, + "min": { + "type": "number", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps": { + "properties": { + "max": { + "type": "number", + "description": "Maximum.\n" + }, + "min": { + "type": "number", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb": { + "properties": { + "max": { + "type": "number", + "description": "Maximum.\n" + }, + "min": { + "type": "number", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount:GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount": { + "properties": { + "max": { + "type": "integer", + "description": "Maximum.\n" + }, + "min": { + "type": "integer", + "description": "Minimum.\n" + } + }, + "type": "object" + }, + "aws:autoscaling/GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification:GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification": { "properties": { "launchTemplateId": { "type": "string", @@ -19321,7 +19341,7 @@ "items": { "$ref": "#/types/aws:cfg/RecorderRecordingGroupRecordingStrategy:RecorderRecordingGroupRecordingStrategy" }, - "description": "Recording Strategy - see below..\n" + "description": "Recording Strategy. Detailed below.\n" }, "resourceTypes": { "type": "array", @@ -19348,7 +19368,7 @@ "items": { "type": "string" }, - "description": "A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false.\n" + "description": "A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types.\n" } }, "type": "object" @@ -19418,6 +19438,22 @@ } } }, + "aws:cfg/RuleEvaluationMode:RuleEvaluationMode": { + "properties": { + "mode": { + "type": "string", + "description": "The mode of an evaluation.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "mode" + ] + } + } + }, "aws:cfg/RuleScope:RuleScope": { "properties": { "complianceResourceId": { @@ -35790,7 +35826,7 @@ }, "volumeType": { "type": "string", - "description": "Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`.\n\nModifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement.\n" + "description": "Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses.\n\nModifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement.\n" } }, "type": "object", @@ -42485,7 +42521,7 @@ }, "volumeType": { "type": "string", - "description": "Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`.\n\nModifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement.\n" + "description": "Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses.\n\nModifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement.\n" } }, "type": "object", @@ -52542,6 +52578,47 @@ } } }, + "aws:elasticsearch/VpcEndpointVpcOptions:VpcEndpointVpcOptions": { + "properties": { + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC.\n" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one.\n" + }, + "vpcId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "subnetIds" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "availabilityZones", + "securityGroupIds", + "subnetIds", + "vpcId" + ] + } + } + }, "aws:elasticsearch/getDomainAdvancedSecurityOption:getDomainAdvancedSecurityOption": { "properties": { "enabled": { @@ -65646,6 +65723,42 @@ "launchTemplateId" ] }, + "aws:imagebuilder/ImageImageScanningConfiguration:ImageImageScanningConfiguration": { + "properties": { + "ecrConfiguration": { + "$ref": "#/types/aws:imagebuilder/ImageImageScanningConfigurationEcrConfiguration:ImageImageScanningConfigurationEcrConfiguration", + "description": "Configuration block with ECR configuration. Detailed below.\n" + }, + "imageScanningEnabled": { + "type": "boolean", + "description": "Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "ecrConfiguration" + ] + } + } + }, + "aws:imagebuilder/ImageImageScanningConfigurationEcrConfiguration:ImageImageScanningConfigurationEcrConfiguration": { + "properties": { + "containerTags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans.\n" + }, + "repositoryName": { + "type": "string", + "description": "The name of the container repository that Amazon Inspector scans to identify findings for your container images.\n" + } + }, + "type": "object" + }, "aws:imagebuilder/ImageImageTestsConfiguration:ImageImageTestsConfiguration": { "properties": { "imageTestsEnabled": { @@ -66549,6 +66662,56 @@ "values" ] }, + "aws:imagebuilder/getImageImageScanningConfiguration:getImageImageScanningConfiguration": { + "properties": { + "ecrConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:imagebuilder/getImageImageScanningConfigurationEcrConfiguration:getImageImageScanningConfigurationEcrConfiguration" + }, + "description": "Configuration block with ECR configuration.\n" + }, + "imageScanningEnabled": { + "type": "boolean", + "description": "Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image.\n" + } + }, + "type": "object", + "required": [ + "ecrConfigurations", + "imageScanningEnabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:imagebuilder/getImageImageScanningConfigurationEcrConfiguration:getImageImageScanningConfigurationEcrConfiguration": { + "properties": { + "containerTags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans.\n" + }, + "repositoryName": { + "type": "string", + "description": "The name of the container repository that Amazon Inspector scans to identify findings for your container images.\n" + } + }, + "type": "object", + "required": [ + "containerTags", + "repositoryName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:imagebuilder/getImageImageTestsConfiguration:getImageImageTestsConfiguration": { "properties": { "imageTestsEnabled": { @@ -68094,6 +68257,35 @@ "ecr" ] }, + "aws:iot/DomainConfigurationAuthorizerConfig:DomainConfigurationAuthorizerConfig": { + "properties": { + "allowAuthorizerOverride": { + "type": "boolean", + "description": "A Boolean that specifies whether the domain configuration's authorization service can be overridden.\n" + }, + "defaultAuthorizerName": { + "type": "string", + "description": "The name of the authorization service for a domain configuration.\n" + } + }, + "type": "object" + }, + "aws:iot/DomainConfigurationTlsConfig:DomainConfigurationTlsConfig": { + "properties": { + "securityPolicy": { + "type": "string", + "description": "The security policy for a domain configuration.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "securityPolicy" + ] + } + } + }, "aws:iot/IndexingConfigurationThingGroupIndexingConfiguration:IndexingConfigurationThingGroupIndexingConfiguration": { "properties": { "customFields": { @@ -68167,6 +68359,10 @@ "type": "string", "description": "Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`.\n" }, + "filter": { + "$ref": "#/types/aws:iot/IndexingConfigurationThingIndexingConfigurationFilter:IndexingConfigurationThingIndexingConfigurationFilter", + "description": "Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration.\n" + }, "managedFields": { "type": "array", "items": { @@ -68194,6 +68390,7 @@ "language": { "nodejs": { "requiredOutputs": [ + "filter", "managedFields", "thingIndexingMode" ] @@ -68213,6 +68410,18 @@ }, "type": "object" }, + "aws:iot/IndexingConfigurationThingIndexingConfigurationFilter:IndexingConfigurationThingIndexingConfigurationFilter": { + "properties": { + "namedShadowNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of shadow names that you select to index.\n" + } + }, + "type": "object" + }, "aws:iot/IndexingConfigurationThingIndexingConfigurationManagedField:IndexingConfigurationThingIndexingConfigurationManagedField": { "properties": { "name": { @@ -76014,6 +76223,10 @@ }, "aws:lambda/FunctionVpcConfig:FunctionVpcConfig": { "properties": { + "ipv6AllowedForDualStack": { + "type": "boolean", + "description": "Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`.\n" + }, "securityGroupIds": { "type": "array", "items": { @@ -77224,6 +77437,18 @@ "onUnhealthy" ] }, + "aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState": { + "properties": { + "enableUnhealthyConnectionTermination": { + "type": "boolean", + "description": "Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`.\n" + } + }, + "type": "object", + "required": [ + "enableUnhealthyConnectionTermination" + ] + }, "aws:lb/getListenerDefaultAction:getListenerDefaultAction": { "properties": { "authenticateCognitos": { @@ -85600,6 +85825,182 @@ "enabledInBroker" ] }, + "aws:msk/ReplicatorKafkaCluster:ReplicatorKafkaCluster": { + "properties": { + "amazonMskCluster": { + "$ref": "#/types/aws:msk/ReplicatorKafkaClusterAmazonMskCluster:ReplicatorKafkaClusterAmazonMskCluster", + "description": "Details of an Amazon MSK cluster.\n" + }, + "vpcConfig": { + "$ref": "#/types/aws:msk/ReplicatorKafkaClusterVpcConfig:ReplicatorKafkaClusterVpcConfig", + "description": "Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.\n" + } + }, + "type": "object", + "required": [ + "amazonMskCluster", + "vpcConfig" + ] + }, + "aws:msk/ReplicatorKafkaClusterAmazonMskCluster:ReplicatorKafkaClusterAmazonMskCluster": { + "properties": { + "mskClusterArn": { + "type": "string", + "description": "The ARN of an Amazon MSK cluster.\n" + } + }, + "type": "object", + "required": [ + "mskClusterArn" + ] + }, + "aws:msk/ReplicatorKafkaClusterVpcConfig:ReplicatorKafkaClusterVpcConfig": { + "properties": { + "securityGroupsIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.\n" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "subnetIds" + ] + }, + "aws:msk/ReplicatorReplicationInfoList:ReplicatorReplicationInfoList": { + "properties": { + "consumerGroupReplications": { + "type": "array", + "items": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoListConsumerGroupReplication:ReplicatorReplicationInfoListConsumerGroupReplication" + }, + "description": "Confguration relating to consumer group replication.\n" + }, + "sourceKafkaClusterAlias": { + "type": "string" + }, + "sourceKafkaClusterArn": { + "type": "string", + "description": "The ARN of the source Kafka cluster.\n", + "willReplaceOnChanges": true + }, + "targetCompressionType": { + "type": "string", + "description": "The type of compression to use writing records to target Kafka cluster.\n", + "willReplaceOnChanges": true + }, + "targetKafkaClusterAlias": { + "type": "string" + }, + "targetKafkaClusterArn": { + "type": "string", + "description": "The ARN of the target Kafka cluster.\n", + "willReplaceOnChanges": true + }, + "topicReplications": { + "type": "array", + "items": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoListTopicReplication:ReplicatorReplicationInfoListTopicReplication" + }, + "description": "Configuration relating to topic replication.\n" + } + }, + "type": "object", + "required": [ + "consumerGroupReplications", + "sourceKafkaClusterArn", + "targetCompressionType", + "targetKafkaClusterArn", + "topicReplications" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "consumerGroupReplications", + "sourceKafkaClusterAlias", + "sourceKafkaClusterArn", + "targetCompressionType", + "targetKafkaClusterAlias", + "targetKafkaClusterArn", + "topicReplications" + ] + } + } + }, + "aws:msk/ReplicatorReplicationInfoListConsumerGroupReplication:ReplicatorReplicationInfoListConsumerGroupReplication": { + "properties": { + "consumerGroupsToExcludes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of regular expression patterns indicating the consumer groups that should not be replicated.\n" + }, + "consumerGroupsToReplicates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of regular expression patterns indicating the consumer groups to copy.\n" + }, + "detectAndCopyNewConsumerGroups": { + "type": "boolean", + "description": "Whether to periodically check for new consumer groups.\n" + }, + "synchroniseConsumerGroupOffsets": { + "type": "boolean", + "description": "Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.\n" + } + }, + "type": "object", + "required": [ + "consumerGroupsToReplicates" + ] + }, + "aws:msk/ReplicatorReplicationInfoListTopicReplication:ReplicatorReplicationInfoListTopicReplication": { + "properties": { + "copyAccessControlListsForTopics": { + "type": "boolean", + "description": "Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.\n" + }, + "copyTopicConfigurations": { + "type": "boolean", + "description": "Whether to periodically configure remote topics to match their corresponding upstream topics.\n" + }, + "detectAndCopyNewTopics": { + "type": "boolean", + "description": "Whether to periodically check for new topics and partitions.\n" + }, + "topicsToExcludes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of regular expression patterns indicating the topics that should not be replica.\n" + }, + "topicsToReplicates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of regular expression patterns indicating the topics to copy.\n" + } + }, + "type": "object", + "required": [ + "topicsToReplicates" + ] + }, "aws:msk/ServerlessClusterClientAuthentication:ServerlessClusterClientAuthentication": { "properties": { "sasl": { @@ -114783,6 +115184,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -114919,6 +115323,18 @@ "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -115536,6 +115952,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -115672,6 +116091,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -115931,6 +116362,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -116067,6 +116501,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -116205,6 +116651,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -116341,6 +116790,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -116484,6 +116945,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -116620,6 +117084,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -116753,6 +117229,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -116889,6 +117368,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -117022,6 +117513,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -117158,6 +117652,18 @@ "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -117296,6 +117802,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -117432,6 +117941,18 @@ "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -117570,6 +118091,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -117706,6 +118230,18 @@ "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -117849,6 +118385,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -117985,6 +118524,18 @@ "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody:RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -118118,6 +118669,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -118254,6 +118808,18 @@ "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -118387,6 +118953,9 @@ }, "description": "Inspect the request headers. See Headers below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See JSON Body for details.\n" @@ -118523,6 +119092,18 @@ "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll:RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody:RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -119426,6 +120007,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -119562,6 +120147,18 @@ "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -120632,6 +121229,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -120768,6 +121369,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -121027,6 +121640,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -121163,6 +121780,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -121301,6 +121930,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -121437,6 +122070,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -121580,6 +122225,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -121716,6 +122365,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -121849,6 +122510,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -121985,6 +122650,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -122118,6 +122795,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -122254,6 +122935,18 @@ "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -122780,6 +123473,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -122916,6 +123613,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -123175,6 +123884,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -123311,6 +124024,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -123449,6 +124174,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -123585,6 +124314,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -123728,6 +124469,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -123864,6 +124609,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -123997,6 +124754,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -124133,6 +124894,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -124266,6 +125039,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -124402,6 +125179,18 @@ "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -124540,6 +125329,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -124676,6 +125469,18 @@ "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody:WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -124814,6 +125619,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -124950,6 +125759,18 @@ "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody:WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -125367,6 +126188,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -125503,6 +126328,18 @@ "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody:WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -125636,6 +126473,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -125772,6 +126613,18 @@ "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody:WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -125905,6 +126758,10 @@ }, "description": "Inspect the request headers. See `headers` below for details.\n" }, + "ja3Fingerprint": { + "$ref": "#/types/aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint", + "description": "Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details.\n" + }, "jsonBody": { "$ref": "#/types/aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody", "description": "Inspect the request body as JSON. See `json_body` for details.\n" @@ -126041,6 +126898,18 @@ "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll:WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll": { "type": "object" }, + "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint:WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint": { + "properties": { + "fallbackBehavior": { + "type": "string", + "description": "Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`.\n" + } + }, + "type": "object", + "required": [ + "fallbackBehavior" + ] + }, "aws:wafv2/WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody:WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody": { "properties": { "invalidFallbackBehavior": { @@ -128733,6 +129602,10 @@ "type": "string", "description": "The DNS name of the load balancer.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -128847,6 +129720,7 @@ "internal", "ipAddressType", "name", + "namePrefix", "securityGroups", "subnetMappings", "subnets", @@ -128868,6 +129742,10 @@ "type": "string", "description": "Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -128992,6 +129870,10 @@ "type": "string", "description": "The DNS name of the load balancer.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -129113,7 +129995,7 @@ ] }, "aws:alb/targetGroup:TargetGroup": { - "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Instance Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### IP Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Lambda Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {targetType: \"lambda\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\", target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: lambda\n```\n{{% /example %}}\n{{% example %}}\n### ALB Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n $ pulumi import aws:alb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n ", + "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Instance Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### IP Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Lambda Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {targetType: \"lambda\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\", target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: lambda\n```\n{{% /example %}}\n{{% example %}}\n### ALB Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n```\n{{% /example %}}\n{{% example %}}\n### Target group with unhealthy connection termination disabled\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n port: 25,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n port=25,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\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 tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Port = 25,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder() \n .port(25)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n port: 25\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n $ pulumi import aws:alb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n ", "properties": { "arn": { "type": "string", @@ -129210,6 +130092,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:alb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n" @@ -129222,16 +130111,19 @@ "required": [ "arn", "arnSuffix", + "connectionTermination", "healthCheck", "ipAddressType", "loadBalancingAlgorithmType", "loadBalancingCrossZoneEnabled", "name", + "namePrefix", "preserveClientIp", "protocolVersion", "stickiness", "tagsAll", - "targetFailovers" + "targetFailovers", + "targetHealthStates" ], "inputProperties": { "connectionTermination": { @@ -129318,6 +130210,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:alb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n", @@ -129433,6 +130332,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:alb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n", @@ -144022,9 +144928,11 @@ "defaultCooldown", "desiredCapacity", "healthCheckType", + "launchTemplate", "loadBalancers", "maxSize", "minSize", + "mixedInstancesPolicy", "name", "namePrefix", "predictedCapacity", @@ -148433,7 +149341,7 @@ } }, "aws:cfg/recorder:Recorder": { - "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst foo = new aws.cfg.Recorder(\"foo\", {roleArn: role.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\", role_arn=role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n RoleArn = role.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n roleArn: ${role.arn}\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n $ pulumi import aws:cfg/recorder:Recorder foo example\n```\n ", + "description": "Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.\n\n\u003e **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"config.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst foo = new aws.cfg.Recorder(\"foo\", {roleArn: role.arn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"config.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nfoo = aws.cfg.Recorder(\"foo\", role_arn=role.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"config.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n RoleArn = role.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"config.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"config.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .roleArn(role.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n roleArn: ${role.arn}\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - config.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n{{% /example %}}\n{{% example %}}\n### Exclude Resources Types Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.cfg.Recorder(\"foo\", {\n roleArn: aws_iam_role.r.arn,\n recordingGroup: {\n allSupported: false,\n exclusionByResourceTypes: [{\n resourceTypes: [\"AWS::EC2::Instance\"],\n }],\n recordingStrategies: [{\n useOnly: \"EXCLUSION_BY_RESOURCE_TYPES\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.cfg.Recorder(\"foo\",\n role_arn=aws_iam_role[\"r\"][\"arn\"],\n recording_group=aws.cfg.RecorderRecordingGroupArgs(\n all_supported=False,\n exclusion_by_resource_types=[aws.cfg.RecorderRecordingGroupExclusionByResourceTypeArgs(\n resource_types=[\"AWS::EC2::Instance\"],\n )],\n recording_strategies=[aws.cfg.RecorderRecordingGroupRecordingStrategyArgs(\n use_only=\"EXCLUSION_BY_RESOURCE_TYPES\",\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 foo = new Aws.Cfg.Recorder(\"foo\", new()\n {\n RoleArn = aws_iam_role.R.Arn,\n RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs\n {\n AllSupported = false,\n ExclusionByResourceTypes = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs\n {\n ResourceTypes = new[]\n {\n \"AWS::EC2::Instance\",\n },\n },\n },\n RecordingStrategies = new[]\n {\n new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs\n {\n UseOnly = \"EXCLUSION_BY_RESOURCE_TYPES\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewRecorder(ctx, \"foo\", \u0026cfg.RecorderArgs{\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.R.Arn),\n\t\t\tRecordingGroup: \u0026cfg.RecorderRecordingGroupArgs{\n\t\t\t\tAllSupported: pulumi.Bool(false),\n\t\t\t\tExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{\n\t\t\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"AWS::EC2::Instance\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{\n\t\t\t\t\t\u0026cfg.RecorderRecordingGroupRecordingStrategyArgs{\n\t\t\t\t\t\tUseOnly: pulumi.String(\"EXCLUSION_BY_RESOURCE_TYPES\"),\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.cfg.Recorder;\nimport com.pulumi.aws.cfg.RecorderArgs;\nimport com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Recorder(\"foo\", RecorderArgs.builder() \n .roleArn(aws_iam_role.r().arn())\n .recordingGroup(RecorderRecordingGroupArgs.builder()\n .allSupported(false)\n .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder()\n .resourceTypes(\"AWS::EC2::Instance\")\n .build())\n .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder()\n .useOnly(\"EXCLUSION_BY_RESOURCE_TYPES\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:cfg:Recorder\n properties:\n roleArn: ${aws_iam_role.r.arn}\n recordingGroup:\n allSupported: false\n exclusionByResourceTypes:\n - resourceTypes:\n - AWS::EC2::Instance\n recordingStrategies:\n - useOnly: EXCLUSION_BY_RESOURCE_TYPES\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Configuration Recorder using the name. For example:\n\n```sh\n $ pulumi import aws:cfg/recorder:Recorder foo example\n```\n ", "properties": { "name": { "type": "string", @@ -148709,6 +149617,13 @@ "type": "string", "description": "Description of the rule\n" }, + "evaluationModes": { + "type": "array", + "items": { + "$ref": "#/types/aws:cfg/RuleEvaluationMode:RuleEvaluationMode" + }, + "description": "The modes the Config rule can be evaluated in. See Evaluation Mode for more details.\n" + }, "inputParameters": { "type": "string", "description": "A string in JSON format that is passed to the AWS Config rule Lambda function.\n" @@ -148752,6 +149667,7 @@ }, "required": [ "arn", + "evaluationModes", "name", "ruleId", "source", @@ -148762,6 +149678,13 @@ "type": "string", "description": "Description of the rule\n" }, + "evaluationModes": { + "type": "array", + "items": { + "$ref": "#/types/aws:cfg/RuleEvaluationMode:RuleEvaluationMode" + }, + "description": "The modes the Config rule can be evaluated in. See Evaluation Mode for more details.\n" + }, "inputParameters": { "type": "string", "description": "A string in JSON format that is passed to the AWS Config rule Lambda function.\n" @@ -148804,6 +149727,13 @@ "type": "string", "description": "Description of the rule\n" }, + "evaluationModes": { + "type": "array", + "items": { + "$ref": "#/types/aws:cfg/RuleEvaluationMode:RuleEvaluationMode" + }, + "description": "The modes the Config rule can be evaluated in. See Evaluation Mode for more details.\n" + }, "inputParameters": { "type": "string", "description": "A string in JSON format that is passed to the AWS Config rule Lambda function.\n" @@ -157326,7 +158256,7 @@ } }, "aws:codebuild/project:Project": { - "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"exampleBucketV2\", {});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"exampleBucketAclV2\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst examplePolicyDocument = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n aws_subnet.example1.arn,\n aws_subnet.example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"exampleRolePolicy\", {\n role: exampleRole.name,\n policy: examplePolicyDocument.apply(examplePolicyDocument =\u003e examplePolicyDocument.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"exampleProject\", {\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: aws_vpc.example.id,\n subnets: [\n aws_subnet.example1.id,\n aws_subnet.example2.id,\n ],\n securityGroupIds: [\n aws_security_group.example1.id,\n aws_security_group.example2.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"exampleBucketV2\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"exampleBucketAclV2\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codebuild.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=assume_role.json)\nexample_policy_document = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateNetworkInterfacePermission\"],\n resources=[\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:Subnet\",\n values=[\n aws_subnet[\"example1\"][\"arn\"],\n aws_subnet[\"example2\"][\"arn\"],\n ],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:AuthorizedService\",\n values=[\"codebuild.amazonaws.com\"],\n ),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n example_bucket_v2_arn,\n f\"{example_bucket_v2_arn1}/*\",\n ],\n ),\n]))\nexample_role_policy = aws.iam.RolePolicy(\"exampleRolePolicy\",\n role=example_role.name,\n policy=example_policy_document.json)\nexample_project = aws.codebuild.Project(\"exampleProject\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"S3\",\n location=example_bucket_v2.bucket,\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n ),\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY2\",\n value=\"SOME_VALUE2\",\n type=\"PARAMETER_STORE\",\n ),\n ],\n ),\n logs_config=aws.codebuild.ProjectLogsConfigArgs(\n cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs(\n group_name=\"log-group\",\n stream_name=\"log-stream\",\n ),\n s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs(\n status=\"ENABLED\",\n location=example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n ),\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs(\n fetch_submodules=True,\n ),\n ),\n source_version=\"master\",\n vpc_config=aws.codebuild.ProjectVpcConfigArgs(\n vpc_id=aws_vpc[\"example\"][\"id\"],\n subnets=[\n aws_subnet[\"example1\"][\"id\"],\n aws_subnet[\"example2\"][\"id\"],\n ],\n security_group_ids=[\n aws_security_group[\"example1\"][\"id\"],\n aws_security_group[\"example2\"][\"id\"],\n ],\n ),\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"LOCAL\",\n modes=[\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n )],\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n ),\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"exampleBucketV2\");\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"exampleBucketAclV2\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n aws_subnet.Example1.Arn,\n aws_subnet.Example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"exampleRolePolicy\", new()\n {\n Role = exampleRole.Name,\n Policy = examplePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"exampleProject\", new()\n {\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = aws_vpc.Example.Id,\n Subnets = new[]\n {\n aws_subnet.Example1.Id,\n aws_subnet.Example2.Id,\n },\n SecurityGroupIds = new[]\n {\n aws_security_group.Example1.Id,\n aws_security_group.Example2.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\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/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"exampleBucketV2\", nil)\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"exampleBucketAclV2\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexamplePolicyDocument := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\naws_subnet.Example1.Arn,\naws_subnet.Example2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"exampleRolePolicy\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: examplePolicyDocument.ApplyT(func(examplePolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026examplePolicyDocument.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"exampleProject\", \u0026codebuild.ProjectArgs{\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(aws_vpc.Example.Id),\nSubnets: pulumi.StringArray{\naws_subnet.Example1.Id,\naws_subnet.Example2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\naws_security_group.Example1.Id,\naws_security_group.Example2.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\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.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\");\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n aws_subnet.example1().arn(),\n aws_subnet.example2().arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .role(exampleRole.name())\n .policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(examplePolicyDocument -\u003e examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder() \n .description(\"test_codebuild_project\")\n .buildTimeout(\"5\")\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(aws_vpc.example().id())\n .subnets( \n aws_subnet.example1().id(),\n aws_subnet.example2().id())\n .securityGroupIds( \n aws_security_group.example1().id(),\n aws_security_group.example2().id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder() \n .description(\"test_codebuild_project_cache\")\n .buildTimeout(\"5\")\n .queuedTimeout(\"5\")\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${exampleRole.name}\n policy: ${examplePolicyDocument.json}\n exampleProject:\n type: aws:codebuild:Project\n properties:\n description: test_codebuild_project\n buildTimeout: '5'\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${aws_vpc.example.id}\n subnets:\n - ${aws_subnet.example1.id}\n - ${aws_subnet.example2.id}\n securityGroupIds:\n - ${aws_security_group.example1.id}\n - ${aws_security_group.example2.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n description: test_codebuild_project_cache\n buildTimeout: '5'\n queuedTimeout: '5'\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n examplePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${aws_subnet.example1.arn}\n - ${aws_subnet.example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n $ pulumi import aws:codebuild/project:Project name project-name\n```\n ", + "description": "Provides a CodeBuild Project resource. See also the `aws.codebuild.Webhook` resource, which manages the webhook to the source (e.g., the \"rebuild every time a code change is pushed\" option in the CodeBuild web console).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"exampleBucketV2\", {});\nconst exampleBucketAclV2 = new aws.s3.BucketAclV2(\"exampleBucketAclV2\", {\n bucket: exampleBucketV2.id,\n acl: \"private\",\n});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codebuild.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst examplePolicyDocument = pulumi.all([exampleBucketV2.arn, exampleBucketV2.arn]).apply(([exampleBucketV2Arn, exampleBucketV2Arn1]) =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources: [\"*\"],\n },\n {\n effect: \"Allow\",\n actions: [\"ec2:CreateNetworkInterfacePermission\"],\n resources: [\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions: [\n {\n test: \"StringEquals\",\n variable: \"ec2:Subnet\",\n values: [\n aws_subnet.example1.arn,\n aws_subnet.example2.arn,\n ],\n },\n {\n test: \"StringEquals\",\n variable: \"ec2:AuthorizedService\",\n values: [\"codebuild.amazonaws.com\"],\n },\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"s3:*\"],\n resources: [\n exampleBucketV2Arn,\n `${exampleBucketV2Arn1}/*`,\n ],\n },\n ],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"exampleRolePolicy\", {\n role: exampleRole.name,\n policy: examplePolicyDocument.apply(examplePolicyDocument =\u003e examplePolicyDocument.json),\n});\nconst exampleProject = new aws.codebuild.Project(\"exampleProject\", {\n description: \"test_codebuild_project\",\n buildTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"S3\",\n location: exampleBucketV2.bucket,\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [\n {\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n },\n {\n name: \"SOME_KEY2\",\n value: \"SOME_VALUE2\",\n type: \"PARAMETER_STORE\",\n },\n ],\n },\n logsConfig: {\n cloudwatchLogs: {\n groupName: \"log-group\",\n streamName: \"log-stream\",\n },\n s3Logs: {\n status: \"ENABLED\",\n location: pulumi.interpolate`${exampleBucketV2.id}/build-log`,\n },\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n gitSubmodulesConfig: {\n fetchSubmodules: true,\n },\n },\n sourceVersion: \"master\",\n vpcConfig: {\n vpcId: aws_vpc.example.id,\n subnets: [\n aws_subnet.example1.id,\n aws_subnet.example2.id,\n ],\n securityGroupIds: [\n aws_security_group.example1.id,\n aws_security_group.example2.id,\n ],\n },\n tags: {\n Environment: \"Test\",\n },\n});\nconst project_with_cache = new aws.codebuild.Project(\"project-with-cache\", {\n description: \"test_codebuild_project_cache\",\n buildTimeout: 5,\n queuedTimeout: 5,\n serviceRole: exampleRole.arn,\n artifacts: {\n type: \"NO_ARTIFACTS\",\n },\n cache: {\n type: \"LOCAL\",\n modes: [\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n },\n environment: {\n computeType: \"BUILD_GENERAL1_SMALL\",\n image: \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type: \"LINUX_CONTAINER\",\n imagePullCredentialsType: \"CODEBUILD\",\n environmentVariables: [{\n name: \"SOME_KEY1\",\n value: \"SOME_VALUE1\",\n }],\n },\n source: {\n type: \"GITHUB\",\n location: \"https://github.com/mitchellh/packer.git\",\n gitCloneDepth: 1,\n },\n tags: {\n Environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"exampleBucketV2\")\nexample_bucket_acl_v2 = aws.s3.BucketAclV2(\"exampleBucketAclV2\",\n bucket=example_bucket_v2.id,\n acl=\"private\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codebuild.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=assume_role.json)\nexample_policy_document = pulumi.Output.all(example_bucket_v2.arn, example_bucket_v2.arn).apply(lambda exampleBucketV2Arn, exampleBucketV2Arn1: aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n ],\n resources=[\"*\"],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:CreateNetworkInterfacePermission\"],\n resources=[\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\"],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:Subnet\",\n values=[\n aws_subnet[\"example1\"][\"arn\"],\n aws_subnet[\"example2\"][\"arn\"],\n ],\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n variable=\"ec2:AuthorizedService\",\n values=[\"codebuild.amazonaws.com\"],\n ),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"s3:*\"],\n resources=[\n example_bucket_v2_arn,\n f\"{example_bucket_v2_arn1}/*\",\n ],\n ),\n]))\nexample_role_policy = aws.iam.RolePolicy(\"exampleRolePolicy\",\n role=example_role.name,\n policy=example_policy_document.json)\nexample_project = aws.codebuild.Project(\"exampleProject\",\n description=\"test_codebuild_project\",\n build_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"S3\",\n location=example_bucket_v2.bucket,\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n ),\n aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY2\",\n value=\"SOME_VALUE2\",\n type=\"PARAMETER_STORE\",\n ),\n ],\n ),\n logs_config=aws.codebuild.ProjectLogsConfigArgs(\n cloudwatch_logs=aws.codebuild.ProjectLogsConfigCloudwatchLogsArgs(\n group_name=\"log-group\",\n stream_name=\"log-stream\",\n ),\n s3_logs=aws.codebuild.ProjectLogsConfigS3LogsArgs(\n status=\"ENABLED\",\n location=example_bucket_v2.id.apply(lambda id: f\"{id}/build-log\"),\n ),\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n git_submodules_config=aws.codebuild.ProjectSourceGitSubmodulesConfigArgs(\n fetch_submodules=True,\n ),\n ),\n source_version=\"master\",\n vpc_config=aws.codebuild.ProjectVpcConfigArgs(\n vpc_id=aws_vpc[\"example\"][\"id\"],\n subnets=[\n aws_subnet[\"example1\"][\"id\"],\n aws_subnet[\"example2\"][\"id\"],\n ],\n security_group_ids=[\n aws_security_group[\"example1\"][\"id\"],\n aws_security_group[\"example2\"][\"id\"],\n ],\n ),\n tags={\n \"Environment\": \"Test\",\n })\nproject_with_cache = aws.codebuild.Project(\"project-with-cache\",\n description=\"test_codebuild_project_cache\",\n build_timeout=5,\n queued_timeout=5,\n service_role=example_role.arn,\n artifacts=aws.codebuild.ProjectArtifactsArgs(\n type=\"NO_ARTIFACTS\",\n ),\n cache=aws.codebuild.ProjectCacheArgs(\n type=\"LOCAL\",\n modes=[\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n ],\n ),\n environment=aws.codebuild.ProjectEnvironmentArgs(\n compute_type=\"BUILD_GENERAL1_SMALL\",\n image=\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n type=\"LINUX_CONTAINER\",\n image_pull_credentials_type=\"CODEBUILD\",\n environment_variables=[aws.codebuild.ProjectEnvironmentEnvironmentVariableArgs(\n name=\"SOME_KEY1\",\n value=\"SOME_VALUE1\",\n )],\n ),\n source=aws.codebuild.ProjectSourceArgs(\n type=\"GITHUB\",\n location=\"https://github.com/mitchellh/packer.git\",\n git_clone_depth=1,\n ),\n tags={\n \"Environment\": \"Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleBucketV2 = new Aws.S3.BucketV2(\"exampleBucketV2\");\n\n var exampleBucketAclV2 = new Aws.S3.BucketAclV2(\"exampleBucketAclV2\", new()\n {\n Bucket = exampleBucketV2.Id,\n Acl = \"private\",\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:CreateNetworkInterfacePermission\",\n },\n Resources = new[]\n {\n \"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:Subnet\",\n Values = new[]\n {\n aws_subnet.Example1.Arn,\n aws_subnet.Example2.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"ec2:AuthorizedService\",\n Values = new[]\n {\n \"codebuild.amazonaws.com\",\n },\n },\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:*\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"exampleRolePolicy\", new()\n {\n Role = exampleRole.Name,\n Policy = examplePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleProject = new Aws.CodeBuild.Project(\"exampleProject\", new()\n {\n Description = \"test_codebuild_project\",\n BuildTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"S3\",\n Location = exampleBucketV2.Bucket,\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY2\",\n Value = \"SOME_VALUE2\",\n Type = \"PARAMETER_STORE\",\n },\n },\n },\n LogsConfig = new Aws.CodeBuild.Inputs.ProjectLogsConfigArgs\n {\n CloudwatchLogs = new Aws.CodeBuild.Inputs.ProjectLogsConfigCloudwatchLogsArgs\n {\n GroupName = \"log-group\",\n StreamName = \"log-stream\",\n },\n S3Logs = new Aws.CodeBuild.Inputs.ProjectLogsConfigS3LogsArgs\n {\n Status = \"ENABLED\",\n Location = exampleBucketV2.Id.Apply(id =\u003e $\"{id}/build-log\"),\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n GitSubmodulesConfig = new Aws.CodeBuild.Inputs.ProjectSourceGitSubmodulesConfigArgs\n {\n FetchSubmodules = true,\n },\n },\n SourceVersion = \"master\",\n VpcConfig = new Aws.CodeBuild.Inputs.ProjectVpcConfigArgs\n {\n VpcId = aws_vpc.Example.Id,\n Subnets = new[]\n {\n aws_subnet.Example1.Id,\n aws_subnet.Example2.Id,\n },\n SecurityGroupIds = new[]\n {\n aws_security_group.Example1.Id,\n aws_security_group.Example2.Id,\n },\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\n },\n });\n\n var project_with_cache = new Aws.CodeBuild.Project(\"project-with-cache\", new()\n {\n Description = \"test_codebuild_project_cache\",\n BuildTimeout = 5,\n QueuedTimeout = 5,\n ServiceRole = exampleRole.Arn,\n Artifacts = new Aws.CodeBuild.Inputs.ProjectArtifactsArgs\n {\n Type = \"NO_ARTIFACTS\",\n },\n Cache = new Aws.CodeBuild.Inputs.ProjectCacheArgs\n {\n Type = \"LOCAL\",\n Modes = new[]\n {\n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\",\n },\n },\n Environment = new Aws.CodeBuild.Inputs.ProjectEnvironmentArgs\n {\n ComputeType = \"BUILD_GENERAL1_SMALL\",\n Image = \"aws/codebuild/amazonlinux2-x86_64-standard:4.0\",\n Type = \"LINUX_CONTAINER\",\n ImagePullCredentialsType = \"CODEBUILD\",\n EnvironmentVariables = new[]\n {\n new Aws.CodeBuild.Inputs.ProjectEnvironmentEnvironmentVariableArgs\n {\n Name = \"SOME_KEY1\",\n Value = \"SOME_VALUE1\",\n },\n },\n },\n Source = new Aws.CodeBuild.Inputs.ProjectSourceArgs\n {\n Type = \"GITHUB\",\n Location = \"https://github.com/mitchellh/packer.git\",\n GitCloneDepth = 1,\n },\n Tags = \n {\n { \"Environment\", \"Test\" },\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/codebuild\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nexampleBucketV2, err := s3.NewBucketV2(ctx, \"exampleBucketV2\", nil)\nif err != nil {\nreturn err\n}\n_, err = s3.NewBucketAclV2(ctx, \"exampleBucketAclV2\", \u0026s3.BucketAclV2Args{\nBucket: exampleBucketV2.ID(),\nAcl: pulumi.String(\"private\"),\n})\nif err != nil {\nreturn err\n}\nassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\nActions: []string{\n\"sts:AssumeRole\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n})\nif err != nil {\nreturn err\n}\nexamplePolicyDocument := pulumi.All(exampleBucketV2.Arn,exampleBucketV2.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {\nexampleBucketV2Arn := _args[0].(string)\nexampleBucketV2Arn1 := _args[1].(string)\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nEffect: \"Allow\",\nActions: []string{\n\"logs:CreateLogGroup\",\n\"logs:CreateLogStream\",\n\"logs:PutLogEvents\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterface\",\n\"ec2:DescribeDhcpOptions\",\n\"ec2:DescribeNetworkInterfaces\",\n\"ec2:DeleteNetworkInterface\",\n\"ec2:DescribeSubnets\",\n\"ec2:DescribeSecurityGroups\",\n\"ec2:DescribeVpcs\",\n},\nResources: []string{\n\"*\",\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"ec2:CreateNetworkInterfacePermission\",\n},\nResources: []string{\n\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\",\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nVariable: \"ec2:Subnet\",\nValues: interface{}{\naws_subnet.Example1.Arn,\naws_subnet.Example2.Arn,\n},\n},\n{\nTest: \"StringEquals\",\nVariable: \"ec2:AuthorizedService\",\nValues: []string{\n\"codebuild.amazonaws.com\",\n},\n},\n},\n},\n{\nEffect: \"Allow\",\nActions: []string{\n\"s3:*\",\n},\nResources: []string{\nexampleBucketV2Arn,\nfmt.Sprintf(\"%v/*\", exampleBucketV2Arn1),\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = iam.NewRolePolicy(ctx, \"exampleRolePolicy\", \u0026iam.RolePolicyArgs{\nRole: exampleRole.Name,\nPolicy: examplePolicyDocument.ApplyT(func(examplePolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026examplePolicyDocument.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"exampleProject\", \u0026codebuild.ProjectArgs{\nDescription: pulumi.String(\"test_codebuild_project\"),\nBuildTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"S3\"),\nLocation: exampleBucketV2.Bucket,\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY2\"),\nValue: pulumi.String(\"SOME_VALUE2\"),\nType: pulumi.String(\"PARAMETER_STORE\"),\n},\n},\n},\nLogsConfig: \u0026codebuild.ProjectLogsConfigArgs{\nCloudwatchLogs: \u0026codebuild.ProjectLogsConfigCloudwatchLogsArgs{\nGroupName: pulumi.String(\"log-group\"),\nStreamName: pulumi.String(\"log-stream\"),\n},\nS3Logs: \u0026codebuild.ProjectLogsConfigS3LogsArgs{\nStatus: pulumi.String(\"ENABLED\"),\nLocation: exampleBucketV2.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(\"%v/build-log\", id), nil\n}).(pulumi.StringOutput),\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\nGitSubmodulesConfig: \u0026codebuild.ProjectSourceGitSubmodulesConfigArgs{\nFetchSubmodules: pulumi.Bool(true),\n},\n},\nSourceVersion: pulumi.String(\"master\"),\nVpcConfig: \u0026codebuild.ProjectVpcConfigArgs{\nVpcId: pulumi.Any(aws_vpc.Example.Id),\nSubnets: pulumi.StringArray{\naws_subnet.Example1.Id,\naws_subnet.Example2.Id,\n},\nSecurityGroupIds: pulumi.StringArray{\naws_security_group.Example1.Id,\naws_security_group.Example2.Id,\n},\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = codebuild.NewProject(ctx, \"project-with-cache\", \u0026codebuild.ProjectArgs{\nDescription: pulumi.String(\"test_codebuild_project_cache\"),\nBuildTimeout: pulumi.Int(5),\nQueuedTimeout: pulumi.Int(5),\nServiceRole: exampleRole.Arn,\nArtifacts: \u0026codebuild.ProjectArtifactsArgs{\nType: pulumi.String(\"NO_ARTIFACTS\"),\n},\nCache: \u0026codebuild.ProjectCacheArgs{\nType: pulumi.String(\"LOCAL\"),\nModes: pulumi.StringArray{\npulumi.String(\"LOCAL_DOCKER_LAYER_CACHE\"),\npulumi.String(\"LOCAL_SOURCE_CACHE\"),\n},\n},\nEnvironment: \u0026codebuild.ProjectEnvironmentArgs{\nComputeType: pulumi.String(\"BUILD_GENERAL1_SMALL\"),\nImage: pulumi.String(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\"),\nType: pulumi.String(\"LINUX_CONTAINER\"),\nImagePullCredentialsType: pulumi.String(\"CODEBUILD\"),\nEnvironmentVariables: codebuild.ProjectEnvironmentEnvironmentVariableArray{\n\u0026codebuild.ProjectEnvironmentEnvironmentVariableArgs{\nName: pulumi.String(\"SOME_KEY1\"),\nValue: pulumi.String(\"SOME_VALUE1\"),\n},\n},\n},\nSource: \u0026codebuild.ProjectSourceArgs{\nType: pulumi.String(\"GITHUB\"),\nLocation: pulumi.String(\"https://github.com/mitchellh/packer.git\"),\nGitCloneDepth: pulumi.Int(1),\n},\nTags: pulumi.StringMap{\n\"Environment\": pulumi.String(\"Test\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\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.codebuild.Project;\nimport com.pulumi.aws.codebuild.ProjectArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectArtifactsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectCacheArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectEnvironmentArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigCloudwatchLogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectLogsConfigS3LogsArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectSourceGitSubmodulesConfigArgs;\nimport com.pulumi.aws.codebuild.inputs.ProjectVpcConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\");\n\n var exampleBucketAclV2 = new BucketAclV2(\"exampleBucketAclV2\", BucketAclV2Args.builder() \n .bucket(exampleBucketV2.id())\n .acl(\"private\")\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codebuild.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateNetworkInterface\",\n \"ec2:DescribeDhcpOptions\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:DeleteNetworkInterface\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeVpcs\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateNetworkInterfacePermission\")\n .resources(\"arn:aws:ec2:us-east-1:123456789012:network-interface/*\")\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:Subnet\")\n .values( \n aws_subnet.example1().arn(),\n aws_subnet.example2().arn())\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"ec2:AuthorizedService\")\n .values(\"codebuild.amazonaws.com\")\n .build())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"s3:*\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .role(exampleRole.name())\n .policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(examplePolicyDocument -\u003e examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder() \n .description(\"test_codebuild_project\")\n .buildTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"S3\")\n .location(exampleBucketV2.bucket())\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables( \n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build(),\n ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY2\")\n .value(\"SOME_VALUE2\")\n .type(\"PARAMETER_STORE\")\n .build())\n .build())\n .logsConfig(ProjectLogsConfigArgs.builder()\n .cloudwatchLogs(ProjectLogsConfigCloudwatchLogsArgs.builder()\n .groupName(\"log-group\")\n .streamName(\"log-stream\")\n .build())\n .s3Logs(ProjectLogsConfigS3LogsArgs.builder()\n .status(\"ENABLED\")\n .location(exampleBucketV2.id().applyValue(id -\u003e String.format(\"%s/build-log\", id)))\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .gitSubmodulesConfig(ProjectSourceGitSubmodulesConfigArgs.builder()\n .fetchSubmodules(true)\n .build())\n .build())\n .sourceVersion(\"master\")\n .vpcConfig(ProjectVpcConfigArgs.builder()\n .vpcId(aws_vpc.example().id())\n .subnets( \n aws_subnet.example1().id(),\n aws_subnet.example2().id())\n .securityGroupIds( \n aws_security_group.example1().id(),\n aws_security_group.example2().id())\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n var project_with_cache = new Project(\"project-with-cache\", ProjectArgs.builder() \n .description(\"test_codebuild_project_cache\")\n .buildTimeout(5)\n .queuedTimeout(5)\n .serviceRole(exampleRole.arn())\n .artifacts(ProjectArtifactsArgs.builder()\n .type(\"NO_ARTIFACTS\")\n .build())\n .cache(ProjectCacheArgs.builder()\n .type(\"LOCAL\")\n .modes( \n \"LOCAL_DOCKER_LAYER_CACHE\",\n \"LOCAL_SOURCE_CACHE\")\n .build())\n .environment(ProjectEnvironmentArgs.builder()\n .computeType(\"BUILD_GENERAL1_SMALL\")\n .image(\"aws/codebuild/amazonlinux2-x86_64-standard:4.0\")\n .type(\"LINUX_CONTAINER\")\n .imagePullCredentialsType(\"CODEBUILD\")\n .environmentVariables(ProjectEnvironmentEnvironmentVariableArgs.builder()\n .name(\"SOME_KEY1\")\n .value(\"SOME_VALUE1\")\n .build())\n .build())\n .source(ProjectSourceArgs.builder()\n .type(\"GITHUB\")\n .location(\"https://github.com/mitchellh/packer.git\")\n .gitCloneDepth(1)\n .build())\n .tags(Map.of(\"Environment\", \"Test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n exampleBucketAclV2:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${exampleBucketV2.id}\n acl: private\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${exampleRole.name}\n policy: ${examplePolicyDocument.json}\n exampleProject:\n type: aws:codebuild:Project\n properties:\n description: test_codebuild_project\n buildTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: S3\n location: ${exampleBucketV2.bucket}\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n - name: SOME_KEY2\n value: SOME_VALUE2\n type: PARAMETER_STORE\n logsConfig:\n cloudwatchLogs:\n groupName: log-group\n streamName: log-stream\n s3Logs:\n status: ENABLED\n location: ${exampleBucketV2.id}/build-log\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n gitSubmodulesConfig:\n fetchSubmodules: true\n sourceVersion: master\n vpcConfig:\n vpcId: ${aws_vpc.example.id}\n subnets:\n - ${aws_subnet.example1.id}\n - ${aws_subnet.example2.id}\n securityGroupIds:\n - ${aws_security_group.example1.id}\n - ${aws_security_group.example2.id}\n tags:\n Environment: Test\n project-with-cache:\n type: aws:codebuild:Project\n properties:\n description: test_codebuild_project_cache\n buildTimeout: 5\n queuedTimeout: 5\n serviceRole: ${exampleRole.arn}\n artifacts:\n type: NO_ARTIFACTS\n cache:\n type: LOCAL\n modes:\n - LOCAL_DOCKER_LAYER_CACHE\n - LOCAL_SOURCE_CACHE\n environment:\n computeType: BUILD_GENERAL1_SMALL\n image: aws/codebuild/amazonlinux2-x86_64-standard:4.0\n type: LINUX_CONTAINER\n imagePullCredentialsType: CODEBUILD\n environmentVariables:\n - name: SOME_KEY1\n value: SOME_VALUE1\n source:\n type: GITHUB\n location: https://github.com/mitchellh/packer.git\n gitCloneDepth: 1\n tags:\n Environment: Test\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codebuild.amazonaws.com\n actions:\n - sts:AssumeRole\n examplePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:PutLogEvents\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterface\n - ec2:DescribeDhcpOptions\n - ec2:DescribeNetworkInterfaces\n - ec2:DeleteNetworkInterface\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeVpcs\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateNetworkInterfacePermission\n resources:\n - arn:aws:ec2:us-east-1:123456789012:network-interface/*\n conditions:\n - test: StringEquals\n variable: ec2:Subnet\n values:\n - ${aws_subnet.example1.arn}\n - ${aws_subnet.example2.arn}\n - test: StringEquals\n variable: ec2:AuthorizedService\n values:\n - codebuild.amazonaws.com\n - effect: Allow\n actions:\n - s3:*\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodeBuild Project using the `name`. For example:\n\n```sh\n $ pulumi import aws:codebuild/project:Project name project-name\n```\n ", "properties": { "arn": { "type": "string", @@ -158581,8 +159511,7 @@ }, "repositoryName": { "type": "string", - "description": "The name for the repository. This needs to be less than 100 characters.\n", - "willReplaceOnChanges": true + "description": "The name for the repository. This needs to be less than 100 characters.\n" }, "tags": { "type": "object", @@ -158624,8 +159553,7 @@ }, "repositoryName": { "type": "string", - "description": "The name for the repository. This needs to be less than 100 characters.\n", - "willReplaceOnChanges": true + "description": "The name for the repository. This needs to be less than 100 characters.\n" }, "tags": { "type": "object", @@ -193649,7 +194577,7 @@ } }, "aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr": { - "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"exampleVpcIpam\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"exampleVpcIpamPool\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"exampleVpcIpam\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"exampleVpcIpamPool\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"exampleVpcIpam\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"exampleVpcIpamPool\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"exampleVpcIpam\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: *pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"exampleVpcIpamPool\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: *pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"exampleVpcIpamPoolCidr\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\nProvision Public IPv6 Pool CIDRs:\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamPoolCidrCidrAuthorizationContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublicVpcIpamPool = new VpcIpamPool(\"ipv6TestPublicVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .advertisable(false)\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(ipv6TestPublicVpcIpamPool.id())\n .cidr(var_.ipv6_cidr())\n .cidrAuthorizationContext(VpcIpamPoolCidrCidrAuthorizationContextArgs.builder()\n .message(var_.message())\n .signature(var_.signature())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublicVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n advertisable: false\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n properties:\n ipamPoolId: ${ipv6TestPublicVpcIpamPool.id}\n cidr: ${var.ipv6_cidr}\n cidrAuthorizationContext:\n message: ${var.message}\n signature: ${var.signature}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n $ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n ", + "description": "Provisions a CIDR from an IPAM address pool.\n\n\u003e **NOTE:** Provisioning Public IPv4 or Public IPv6 require [steps outside the scope of this resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip). The resource accepts `message` and `signature` as part of the `cidr_authorization_context` attribute but those must be generated ahead of time. Public IPv6 CIDRs that are provisioned into a Pool with `publicly_advertisable = true` and all public IPv4 CIDRs also require creating a Route Origin Authorization (ROA) object in your Regional Internet Registry (RIR).\n\n\u003e **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in\neither a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleVpcIpam = new aws.ec2.VpcIpam(\"exampleVpcIpam\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst exampleVpcIpamPool = new aws.ec2.VpcIpamPool(\"exampleVpcIpamPool\", {\n addressFamily: \"ipv4\",\n ipamScopeId: exampleVpcIpam.privateDefaultScopeId,\n locale: current.then(current =\u003e current.name),\n});\nconst exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", {\n ipamPoolId: exampleVpcIpamPool.id,\n cidr: \"172.20.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_vpc_ipam = aws.ec2.VpcIpam(\"exampleVpcIpam\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nexample_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"exampleVpcIpamPool\",\n address_family=\"ipv4\",\n ipam_scope_id=example_vpc_ipam.private_default_scope_id,\n locale=current.name)\nexample_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\",\n ipam_pool_id=example_vpc_ipam_pool.id,\n cidr=\"172.20.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleVpcIpam = new Aws.Ec2.VpcIpam(\"exampleVpcIpam\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"exampleVpcIpamPool\", new()\n {\n AddressFamily = \"ipv4\",\n IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId,\n Locale = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n });\n\n var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", new()\n {\n IpamPoolId = exampleVpcIpamPool.Id,\n Cidr = \"172.20.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcIpam, err := ec2.NewVpcIpam(ctx, \"exampleVpcIpam\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: *pulumi.String(current.Name),\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\texampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"exampleVpcIpamPool\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv4\"),\n\t\t\tIpamScopeId: exampleVpcIpam.PrivateDefaultScopeId,\n\t\t\tLocale: *pulumi.String(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"exampleVpcIpamPoolCidr\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: exampleVpcIpamPool.ID(),\n\t\t\tCidr: pulumi.String(\"172.20.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleVpcIpam = new VpcIpam(\"exampleVpcIpam\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var exampleVpcIpamPool = new VpcIpamPool(\"exampleVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv4\")\n .ipamScopeId(exampleVpcIpam.privateDefaultScopeId())\n .locale(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build());\n\n var exampleVpcIpamPoolCidr = new VpcIpamPoolCidr(\"exampleVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(exampleVpcIpamPool.id())\n .cidr(\"172.20.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpcIpam:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n exampleVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv4\n ipamScopeId: ${exampleVpcIpam.privateDefaultScopeId}\n locale: ${current.name}\n exampleVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n properties:\n ipamPoolId: ${exampleVpcIpamPool.id}\n cidr: 172.20.0.0/16\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\nProvision Public IPv6 Pool CIDRs:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst example = new aws.ec2.VpcIpam(\"example\", {operatingRegions: [{\n regionName: current.then(current =\u003e current.name),\n}]});\nconst ipv6TestPublicVpcIpamPool = new aws.ec2.VpcIpamPool(\"ipv6TestPublicVpcIpamPool\", {\n addressFamily: \"ipv6\",\n ipamScopeId: example.publicDefaultScopeId,\n locale: \"us-east-1\",\n description: \"public ipv6\",\n publiclyAdvertisable: false,\n publicIpSource: \"amazon\",\n awsService: \"ec2\",\n});\nconst ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", {\n ipamPoolId: ipv6TestPublicVpcIpamPool.id,\n netmaskLength: 52,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample = aws.ec2.VpcIpam(\"example\", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs(\n region_name=current.name,\n)])\nipv6_test_public_vpc_ipam_pool = aws.ec2.VpcIpamPool(\"ipv6TestPublicVpcIpamPool\",\n address_family=\"ipv6\",\n ipam_scope_id=example.public_default_scope_id,\n locale=\"us-east-1\",\n description=\"public ipv6\",\n publicly_advertisable=False,\n public_ip_source=\"amazon\",\n aws_service=\"ec2\")\nipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\",\n ipam_pool_id=ipv6_test_public_vpc_ipam_pool.id,\n netmask_length=52)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var example = new Aws.Ec2.VpcIpam(\"example\", new()\n {\n OperatingRegions = new[]\n {\n new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs\n {\n RegionName = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n },\n },\n });\n\n var ipv6TestPublicVpcIpamPool = new Aws.Ec2.VpcIpamPool(\"ipv6TestPublicVpcIpamPool\", new()\n {\n AddressFamily = \"ipv6\",\n IpamScopeId = example.PublicDefaultScopeId,\n Locale = \"us-east-1\",\n Description = \"public ipv6\",\n PubliclyAdvertisable = false,\n PublicIpSource = \"amazon\",\n AwsService = \"ec2\",\n });\n\n var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", new()\n {\n IpamPoolId = ipv6TestPublicVpcIpamPool.Id,\n NetmaskLength = 52,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcIpam(ctx, \"example\", \u0026ec2.VpcIpamArgs{\n\t\t\tOperatingRegions: ec2.VpcIpamOperatingRegionArray{\n\t\t\t\t\u0026ec2.VpcIpamOperatingRegionArgs{\n\t\t\t\t\tRegionName: *pulumi.String(current.Name),\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\tipv6TestPublicVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, \"ipv6TestPublicVpcIpamPool\", \u0026ec2.VpcIpamPoolArgs{\n\t\t\tAddressFamily: pulumi.String(\"ipv6\"),\n\t\t\tIpamScopeId: example.PublicDefaultScopeId,\n\t\t\tLocale: pulumi.String(\"us-east-1\"),\n\t\t\tDescription: pulumi.String(\"public ipv6\"),\n\t\t\tPubliclyAdvertisable: pulumi.Bool(false),\n\t\t\tPublicIpSource: pulumi.String(\"amazon\"),\n\t\t\tAwsService: pulumi.String(\"ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcIpamPoolCidr(ctx, \"ipv6TestPublicVpcIpamPoolCidr\", \u0026ec2.VpcIpamPoolCidrArgs{\n\t\t\tIpamPoolId: ipv6TestPublicVpcIpamPool.ID(),\n\t\t\tNetmaskLength: pulumi.Int(52),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpam;\nimport com.pulumi.aws.ec2.VpcIpamArgs;\nimport com.pulumi.aws.ec2.inputs.VpcIpamOperatingRegionArgs;\nimport com.pulumi.aws.ec2.VpcIpamPool;\nimport com.pulumi.aws.ec2.VpcIpamPoolArgs;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidr;\nimport com.pulumi.aws.ec2.VpcIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var example = new VpcIpam(\"example\", VpcIpamArgs.builder() \n .operatingRegions(VpcIpamOperatingRegionArgs.builder()\n .regionName(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .build())\n .build());\n\n var ipv6TestPublicVpcIpamPool = new VpcIpamPool(\"ipv6TestPublicVpcIpamPool\", VpcIpamPoolArgs.builder() \n .addressFamily(\"ipv6\")\n .ipamScopeId(example.publicDefaultScopeId())\n .locale(\"us-east-1\")\n .description(\"public ipv6\")\n .publiclyAdvertisable(false)\n .publicIpSource(\"amazon\")\n .awsService(\"ec2\")\n .build());\n\n var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr(\"ipv6TestPublicVpcIpamPoolCidr\", VpcIpamPoolCidrArgs.builder() \n .ipamPoolId(ipv6TestPublicVpcIpamPool.id())\n .netmaskLength(52)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcIpam\n properties:\n operatingRegions:\n - regionName: ${current.name}\n ipv6TestPublicVpcIpamPool:\n type: aws:ec2:VpcIpamPool\n properties:\n addressFamily: ipv6\n ipamScopeId: ${example.publicDefaultScopeId}\n locale: us-east-1\n description: public ipv6\n publiclyAdvertisable: false\n publicIpSource: amazon\n awsService: ec2\n ipv6TestPublicVpcIpamPoolCidr:\n type: aws:ec2:VpcIpamPoolCidr\n properties:\n ipamPoolId: ${ipv6TestPublicVpcIpamPool.id}\n netmaskLength: 52\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IPAMs using the `\u003ccidr\u003e_\u003cipam-pool-id\u003e`. For example:\n\n__NOTE:__ Do not use the IPAM Pool Cidr ID as this was introduced after the resource already existed.\n\n```sh\n $ pulumi import aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr example 172.20.0.0/24_ipam-pool-0e634f5a1517cccdc\n```\n ", "properties": { "cidr": { "type": "string", @@ -194417,7 +195345,7 @@ "properties": { "ipv6CidrBlock": { "type": "string", - "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set.\n" + "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set.\n" }, "ipv6IpamPoolId": { "type": "string", @@ -194440,7 +195368,7 @@ "inputProperties": { "ipv6CidrBlock": { "type": "string", - "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set.\n", + "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set.\n", "willReplaceOnChanges": true }, "ipv6IpamPoolId": { @@ -194468,7 +195396,7 @@ "properties": { "ipv6CidrBlock": { "type": "string", - "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set.\n", + "description": "The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set.\n", "willReplaceOnChanges": true }, "ipv6IpamPoolId": { @@ -196326,6 +197254,10 @@ "type": "string", "description": "Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`.\n" }, + "selfServicePortalUrl": { + "type": "string", + "description": "The URL of the self-service portal.\n" + }, "serverCertificateArn": { "type": "string", "description": "The ARN of the ACM server certificate.\n" @@ -196376,6 +197308,7 @@ "connectionLogOptions", "dnsName", "securityGroupIds", + "selfServicePortalUrl", "serverCertificateArn", "tagsAll", "vpcId" @@ -196525,6 +197458,10 @@ "type": "string", "description": "Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`.\n" }, + "selfServicePortalUrl": { + "type": "string", + "description": "The URL of the self-service portal.\n" + }, "serverCertificateArn": { "type": "string", "description": "The ARN of the ACM server certificate.\n" @@ -203096,7 +204033,7 @@ }, "engineVersion": { "type": "string", - "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below.\n" + "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.`\n" }, "engineVersionActual": { "type": "string", @@ -203169,7 +204106,7 @@ "items": { "type": "string" }, - "description": "One or more VPC security groups associated with the cache cluster\n" + "description": "One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.`\n" }, "snapshotArns": { "type": "string", @@ -203189,7 +204126,7 @@ }, "subnetGroupName": { "type": "string", - "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.\n" + "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.`\n" }, "tags": { "type": "object", @@ -203269,7 +204206,7 @@ }, "engineVersion": { "type": "string", - "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below.\n" + "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.`\n" }, "finalSnapshotIdentifier": { "type": "string", @@ -203343,7 +204280,7 @@ "items": { "type": "string" }, - "description": "One or more VPC security groups associated with the cache cluster\n" + "description": "One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.`\n" }, "snapshotArns": { "type": "string", @@ -203365,7 +204302,7 @@ }, "subnetGroupName": { "type": "string", - "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.\n", + "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.`\n", "willReplaceOnChanges": true }, "tags": { @@ -203432,7 +204369,7 @@ }, "engineVersion": { "type": "string", - "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below.\n" + "description": "Version number of the cache engine to be used.\nIf not set, defaults to the latest version.\nSee [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.\nWhen `engine` is `redis` and the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.\nWhen the version is 6, the major and minor version can be set, e.g., `6.2`,\nor the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.\nOtherwise, specify the full version desired, e.g., `5.0.6`.\nThe actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.`\n" }, "engineVersionActual": { "type": "string", @@ -203510,7 +204447,7 @@ "items": { "type": "string" }, - "description": "One or more VPC security groups associated with the cache cluster\n" + "description": "One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.`\n" }, "snapshotArns": { "type": "string", @@ -203532,7 +204469,7 @@ }, "subnetGroupName": { "type": "string", - "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.\n", + "description": "Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.`\n", "willReplaceOnChanges": true }, "tags": { @@ -203972,6 +204909,10 @@ "type": "string", "description": "The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set.\n" }, + "ipDiscovery": { + "type": "string", + "description": "The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.\n" + }, "kmsKeyId": { "type": "string", "description": "The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`.\n" @@ -203998,6 +204939,10 @@ "type": "boolean", "description": "Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`.\n" }, + "networkType": { + "type": "string", + "description": "The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`.\n" + }, "nodeType": { "type": "string", "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" @@ -204050,14 +204995,14 @@ "items": { "type": "string" }, - "description": "One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud\n" + "description": "IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n" }, "securityGroupNames": { "type": "array", "items": { "type": "string" }, - "description": "List of cache security group names to associate with this replication group.\n" + "description": "Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n" }, "snapshotArns": { "type": "array", @@ -204122,8 +205067,10 @@ "engineVersion", "engineVersionActual", "globalReplicationGroupId", + "ipDiscovery", "maintenanceWindow", "memberClusters", + "networkType", "nodeType", "numCacheClusters", "numNodeGroups", @@ -204189,6 +205136,10 @@ "description": "The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set.\n", "willReplaceOnChanges": true }, + "ipDiscovery": { + "type": "string", + "description": "The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.\n" + }, "kmsKeyId": { "type": "string", "description": "The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`.\n", @@ -204209,6 +205160,11 @@ "type": "boolean", "description": "Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`.\n" }, + "networkType": { + "type": "string", + "description": "The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`.\n", + "willReplaceOnChanges": true + }, "nodeType": { "type": "string", "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" @@ -204255,14 +205211,14 @@ "items": { "type": "string" }, - "description": "One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud\n" + "description": "IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n" }, "securityGroupNames": { "type": "array", "items": { "type": "string" }, - "description": "List of cache security group names to associate with this replication group.\n", + "description": "Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n", "willReplaceOnChanges": true }, "snapshotArns": { @@ -204379,6 +205335,10 @@ "description": "The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set.\n", "willReplaceOnChanges": true }, + "ipDiscovery": { + "type": "string", + "description": "The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.\n" + }, "kmsKeyId": { "type": "string", "description": "The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`.\n", @@ -204406,6 +205366,11 @@ "type": "boolean", "description": "Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`.\n" }, + "networkType": { + "type": "string", + "description": "The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`.\n", + "willReplaceOnChanges": true + }, "nodeType": { "type": "string", "description": "Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set.\n" @@ -204460,14 +205425,14 @@ "items": { "type": "string" }, - "description": "One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud\n" + "description": "IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n" }, "securityGroupNames": { "type": "array", "items": { "type": "string" }, - "description": "List of cache security group names to associate with this replication group.\n", + "description": "Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.\n", "willReplaceOnChanges": true }, "snapshotArns": { @@ -206191,6 +207156,62 @@ "type": "object" } }, + "aws:elasticsearch/vpcEndpoint:VpcEndpoint": { + "description": "Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.elasticsearch.VpcEndpoint(\"foo\", {\n domainArn: aws_elasticsearch_domain.domain_1.arn,\n vpcOptions: {\n securityGroupIds: [\n aws_security_group.test.id,\n aws_security_group.test2.id,\n ],\n subnetIds: [\n aws_subnet.test.id,\n aws_subnet.test2.id,\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.elasticsearch.VpcEndpoint(\"foo\",\n domain_arn=aws_elasticsearch_domain[\"domain_1\"][\"arn\"],\n vpc_options=aws.elasticsearch.VpcEndpointVpcOptionsArgs(\n security_group_ids=[\n aws_security_group[\"test\"][\"id\"],\n aws_security_group[\"test2\"][\"id\"],\n ],\n subnet_ids=[\n aws_subnet[\"test\"][\"id\"],\n aws_subnet[\"test2\"][\"id\"],\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 foo = new Aws.ElasticSearch.VpcEndpoint(\"foo\", new()\n {\n DomainArn = aws_elasticsearch_domain.Domain_1.Arn,\n VpcOptions = new Aws.ElasticSearch.Inputs.VpcEndpointVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n aws_security_group.Test.Id,\n aws_security_group.Test2.Id,\n },\n SubnetIds = new[]\n {\n aws_subnet.Test.Id,\n aws_subnet.Test2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\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 := elasticsearch.NewVpcEndpoint(ctx, \"foo\", \u0026elasticsearch.VpcEndpointArgs{\n\t\t\tDomainArn: pulumi.Any(aws_elasticsearch_domain.Domain_1.Arn),\n\t\t\tVpcOptions: \u0026elasticsearch.VpcEndpointVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\taws_security_group.Test.Id,\n\t\t\t\t\taws_security_group.Test2.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\taws_subnet.Test.Id,\n\t\t\t\t\taws_subnet.Test2.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\treturn nil\n\t})\n}\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.VpcEndpoint;\nimport com.pulumi.aws.elasticsearch.VpcEndpointArgs;\nimport com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new VpcEndpoint(\"foo\", VpcEndpointArgs.builder() \n .domainArn(aws_elasticsearch_domain.domain_1().arn())\n .vpcOptions(VpcEndpointVpcOptionsArgs.builder()\n .securityGroupIds( \n aws_security_group.test().id(),\n aws_security_group.test2().id())\n .subnetIds( \n aws_subnet.test().id(),\n aws_subnet.test2().id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:elasticsearch:VpcEndpoint\n properties:\n domainArn: ${aws_elasticsearch_domain.domain_1.arn}\n vpcOptions:\n securityGroupIds:\n - ${aws_security_group.test.id}\n - ${aws_security_group.test2.id}\n subnetIds:\n - ${aws_subnet.test.id}\n - ${aws_subnet.test2.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example:\n\n```sh\n $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id\n```\n ", + "properties": { + "domainArn": { + "type": "string", + "description": "Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for\n" + }, + "endpoint": { + "type": "string", + "description": "The connection endpoint ID for connecting to the domain.\n" + }, + "vpcOptions": { + "$ref": "#/types/aws:elasticsearch/VpcEndpointVpcOptions:VpcEndpointVpcOptions", + "description": "Options to specify the subnets and security groups for the endpoint.\n" + } + }, + "required": [ + "domainArn", + "endpoint", + "vpcOptions" + ], + "inputProperties": { + "domainArn": { + "type": "string", + "description": "Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for\n", + "willReplaceOnChanges": true + }, + "vpcOptions": { + "$ref": "#/types/aws:elasticsearch/VpcEndpointVpcOptions:VpcEndpointVpcOptions", + "description": "Options to specify the subnets and security groups for the endpoint.\n" + } + }, + "requiredInputs": [ + "domainArn", + "vpcOptions" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcEndpoint resources.\n", + "properties": { + "domainArn": { + "type": "string", + "description": "Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for\n", + "willReplaceOnChanges": true + }, + "endpoint": { + "type": "string", + "description": "The connection endpoint ID for connecting to the domain.\n" + }, + "vpcOptions": { + "$ref": "#/types/aws:elasticsearch/VpcEndpointVpcOptions:VpcEndpointVpcOptions", + "description": "Options to specify the subnets and security groups for the endpoint.\n" + } + }, + "type": "object" + } + }, "aws:elastictranscoder/pipeline:Pipeline": { "description": "Provides an Elastic Transcoder pipeline resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bar = new aws.elastictranscoder.Pipeline(\"bar\", {\n inputBucket: aws_s3_bucket.input_bucket.id,\n role: aws_iam_role.test_role.arn,\n contentConfig: {\n bucket: aws_s3_bucket.content_bucket.id,\n storageClass: \"Standard\",\n },\n thumbnailConfig: {\n bucket: aws_s3_bucket.thumb_bucket.id,\n storageClass: \"Standard\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbar = aws.elastictranscoder.Pipeline(\"bar\",\n input_bucket=aws_s3_bucket[\"input_bucket\"][\"id\"],\n role=aws_iam_role[\"test_role\"][\"arn\"],\n content_config=aws.elastictranscoder.PipelineContentConfigArgs(\n bucket=aws_s3_bucket[\"content_bucket\"][\"id\"],\n storage_class=\"Standard\",\n ),\n thumbnail_config=aws.elastictranscoder.PipelineThumbnailConfigArgs(\n bucket=aws_s3_bucket[\"thumb_bucket\"][\"id\"],\n storage_class=\"Standard\",\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 bar = new Aws.ElasticTranscoder.Pipeline(\"bar\", new()\n {\n InputBucket = aws_s3_bucket.Input_bucket.Id,\n Role = aws_iam_role.Test_role.Arn,\n ContentConfig = new Aws.ElasticTranscoder.Inputs.PipelineContentConfigArgs\n {\n Bucket = aws_s3_bucket.Content_bucket.Id,\n StorageClass = \"Standard\",\n },\n ThumbnailConfig = new Aws.ElasticTranscoder.Inputs.PipelineThumbnailConfigArgs\n {\n Bucket = aws_s3_bucket.Thumb_bucket.Id,\n StorageClass = \"Standard\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder\"\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 := elastictranscoder.NewPipeline(ctx, \"bar\", \u0026elastictranscoder.PipelineArgs{\n\t\t\tInputBucket: pulumi.Any(aws_s3_bucket.Input_bucket.Id),\n\t\t\tRole: pulumi.Any(aws_iam_role.Test_role.Arn),\n\t\t\tContentConfig: \u0026elastictranscoder.PipelineContentConfigArgs{\n\t\t\t\tBucket: pulumi.Any(aws_s3_bucket.Content_bucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\t},\n\t\t\tThumbnailConfig: \u0026elastictranscoder.PipelineThumbnailConfigArgs{\n\t\t\t\tBucket: pulumi.Any(aws_s3_bucket.Thumb_bucket.Id),\n\t\t\t\tStorageClass: pulumi.String(\"Standard\"),\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.elastictranscoder.Pipeline;\nimport com.pulumi.aws.elastictranscoder.PipelineArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineContentConfigArgs;\nimport com.pulumi.aws.elastictranscoder.inputs.PipelineThumbnailConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bar = new Pipeline(\"bar\", PipelineArgs.builder() \n .inputBucket(aws_s3_bucket.input_bucket().id())\n .role(aws_iam_role.test_role().arn())\n .contentConfig(PipelineContentConfigArgs.builder()\n .bucket(aws_s3_bucket.content_bucket().id())\n .storageClass(\"Standard\")\n .build())\n .thumbnailConfig(PipelineThumbnailConfigArgs.builder()\n .bucket(aws_s3_bucket.thumb_bucket().id())\n .storageClass(\"Standard\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bar:\n type: aws:elastictranscoder:Pipeline\n properties:\n inputBucket: ${aws_s3_bucket.input_bucket.id}\n role: ${aws_iam_role.test_role.arn}\n contentConfig:\n bucket: ${aws_s3_bucket.content_bucket.id}\n storageClass: Standard\n thumbnailConfig:\n bucket: ${aws_s3_bucket.thumb_bucket.id}\n storageClass: Standard\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Elastic Transcoder pipelines using the `id`. For example:\n\n```sh\n $ pulumi import aws:elastictranscoder/pipeline:Pipeline basic_pipeline 1407981661351-cttk8b\n```\n ", "properties": { @@ -206904,6 +207925,7 @@ "internal", "listeners", "name", + "namePrefix", "securityGroups", "sourceSecurityGroup", "sourceSecurityGroupId", @@ -208473,7 +209495,8 @@ "required": [ "configuration", "creationDate", - "name" + "name", + "namePrefix" ], "inputProperties": { "configuration": { @@ -217311,14 +218334,14 @@ "items": { "$ref": "#/types/aws:glue/CrawlerHudiTarget:CrawlerHudiTarget" }, - "description": "List nested Hudi target arguments. See Iceberg Target below.\n" + "description": "List of nested Hudi target arguments. See Iceberg Target below.\n" }, "icebergTargets": { "type": "array", "items": { "$ref": "#/types/aws:glue/CrawlerIcebergTarget:CrawlerIcebergTarget" }, - "description": "List nested Iceberg target arguments. See Iceberg Target below.\n" + "description": "List of nested Iceberg target arguments. See Iceberg Target below.\n" }, "jdbcTargets": { "type": "array", @@ -217340,7 +218363,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerMongodbTarget:CrawlerMongodbTarget" }, - "description": "List nested MongoDB target arguments. See MongoDB Target below.\n" + "description": "List of nested MongoDB target arguments. See MongoDB Target below.\n" }, "name": { "type": "string", @@ -217359,7 +218382,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerS3Target:CrawlerS3Target" }, - "description": "List nested Amazon S3 target arguments. See S3 Target below.\n" + "description": "List of nested Amazon S3 target arguments. See S3 Target below.\n" }, "schedule": { "type": "string", @@ -217447,14 +218470,14 @@ "items": { "$ref": "#/types/aws:glue/CrawlerHudiTarget:CrawlerHudiTarget" }, - "description": "List nested Hudi target arguments. See Iceberg Target below.\n" + "description": "List of nested Hudi target arguments. See Iceberg Target below.\n" }, "icebergTargets": { "type": "array", "items": { "$ref": "#/types/aws:glue/CrawlerIcebergTarget:CrawlerIcebergTarget" }, - "description": "List nested Iceberg target arguments. See Iceberg Target below.\n" + "description": "List of nested Iceberg target arguments. See Iceberg Target below.\n" }, "jdbcTargets": { "type": "array", @@ -217476,7 +218499,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerMongodbTarget:CrawlerMongodbTarget" }, - "description": "List nested MongoDB target arguments. See MongoDB Target below.\n" + "description": "List of nested MongoDB target arguments. See MongoDB Target below.\n" }, "name": { "type": "string", @@ -217496,7 +218519,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerS3Target:CrawlerS3Target" }, - "description": "List nested Amazon S3 target arguments. See S3 Target below.\n" + "description": "List of nested Amazon S3 target arguments. See S3 Target below.\n" }, "schedule": { "type": "string", @@ -217578,14 +218601,14 @@ "items": { "$ref": "#/types/aws:glue/CrawlerHudiTarget:CrawlerHudiTarget" }, - "description": "List nested Hudi target arguments. See Iceberg Target below.\n" + "description": "List of nested Hudi target arguments. See Iceberg Target below.\n" }, "icebergTargets": { "type": "array", "items": { "$ref": "#/types/aws:glue/CrawlerIcebergTarget:CrawlerIcebergTarget" }, - "description": "List nested Iceberg target arguments. See Iceberg Target below.\n" + "description": "List of nested Iceberg target arguments. See Iceberg Target below.\n" }, "jdbcTargets": { "type": "array", @@ -217607,7 +218630,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerMongodbTarget:CrawlerMongodbTarget" }, - "description": "List nested MongoDB target arguments. See MongoDB Target below.\n" + "description": "List of nested MongoDB target arguments. See MongoDB Target below.\n" }, "name": { "type": "string", @@ -217627,7 +218650,7 @@ "items": { "$ref": "#/types/aws:glue/CrawlerS3Target:CrawlerS3Target" }, - "description": "List nested Amazon S3 target arguments. See S3 Target below.\n" + "description": "List of nested Amazon S3 target arguments. See S3 Target below.\n" }, "schedule": { "type": "string", @@ -222165,6 +223188,7 @@ "required": [ "group", "name", + "namePrefix", "policy" ], "inputProperties": { @@ -223211,6 +224235,7 @@ }, "required": [ "name", + "namePrefix", "policy", "role" ], @@ -224386,6 +225411,7 @@ }, "required": [ "name", + "namePrefix", "policy", "user" ], @@ -225760,6 +226786,10 @@ "type": "string", "description": "Amazon Resource Name (ARN) of the image recipe.\n" }, + "imageScanningConfiguration": { + "$ref": "#/types/aws:imagebuilder/ImageImageScanningConfiguration:ImageImageScanningConfiguration", + "description": "Configuration block with image scanning configuration. Detailed below.\n" + }, "imageTestsConfiguration": { "$ref": "#/types/aws:imagebuilder/ImageImageTestsConfiguration:ImageImageTestsConfiguration", "description": "Configuration block with image tests configuration. Detailed below.\n" @@ -225811,6 +226841,7 @@ "required": [ "arn", "dateCreated", + "imageScanningConfiguration", "imageTestsConfiguration", "infrastructureConfigurationArn", "name", @@ -225841,6 +226872,10 @@ "description": "Amazon Resource Name (ARN) of the image recipe.\n", "willReplaceOnChanges": true }, + "imageScanningConfiguration": { + "$ref": "#/types/aws:imagebuilder/ImageImageScanningConfiguration:ImageImageScanningConfiguration", + "description": "Configuration block with image scanning configuration. Detailed below.\n" + }, "imageTestsConfiguration": { "$ref": "#/types/aws:imagebuilder/ImageImageTestsConfiguration:ImageImageTestsConfiguration", "description": "Configuration block with image tests configuration. Detailed below.\n", @@ -225893,6 +226928,10 @@ "description": "Amazon Resource Name (ARN) of the image recipe.\n", "willReplaceOnChanges": true }, + "imageScanningConfiguration": { + "$ref": "#/types/aws:imagebuilder/ImageImageScanningConfiguration:ImageImageScanningConfiguration", + "description": "Configuration block with image scanning configuration. Detailed below.\n" + }, "imageTestsConfiguration": { "$ref": "#/types/aws:imagebuilder/ImageImageTestsConfiguration:ImageImageTestsConfiguration", "description": "Configuration block with image tests configuration. Detailed below.\n", @@ -227024,7 +228063,7 @@ "items": { "type": "string" }, - "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, and `LAMBDA`.\nAt least one item is required.\n" + "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`.\nAt least one item is required.\n" } }, "required": [ @@ -227044,7 +228083,7 @@ "items": { "type": "string" }, - "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, and `LAMBDA`.\nAt least one item is required.\n" + "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`.\nAt least one item is required.\n" } }, "requiredInputs": [ @@ -227066,7 +228105,7 @@ "items": { "type": "string" }, - "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, and `LAMBDA`.\nAt least one item is required.\n" + "description": "Type of resources to scan.\nValid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`.\nAt least one item is required.\n" } }, "type": "object" @@ -227404,8 +228443,195 @@ "type": "object" } }, + "aws:iot/domainConfiguration:DomainConfiguration": { + "description": "Creates and manages an AWS IoT domain configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iot = new aws.iot.DomainConfiguration(\"iot\", {\n domainName: \"iot.example.com\",\n serviceType: \"DATA\",\n serverCertificateArns: [aws_acm_certificate.cert.arn],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\niot = aws.iot.DomainConfiguration(\"iot\",\n domain_name=\"iot.example.com\",\n service_type=\"DATA\",\n server_certificate_arns=[aws_acm_certificate[\"cert\"][\"arn\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iot = new Aws.Iot.DomainConfiguration(\"iot\", new()\n {\n DomainName = \"iot.example.com\",\n ServiceType = \"DATA\",\n ServerCertificateArns = new[]\n {\n aws_acm_certificate.Cert.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewDomainConfiguration(ctx, \"iot\", \u0026iot.DomainConfigurationArgs{\n\t\t\tDomainName: pulumi.String(\"iot.example.com\"),\n\t\t\tServiceType: pulumi.String(\"DATA\"),\n\t\t\tServerCertificateArns: pulumi.StringArray{\n\t\t\t\taws_acm_certificate.Cert.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.iot.DomainConfiguration;\nimport com.pulumi.aws.iot.DomainConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var iot = new DomainConfiguration(\"iot\", DomainConfigurationArgs.builder() \n .domainName(\"iot.example.com\")\n .serviceType(\"DATA\")\n .serverCertificateArns(aws_acm_certificate.cert().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iot:\n type: aws:iot:DomainConfiguration\n properties:\n domainName: iot.example.com\n serviceType: DATA\n serverCertificateArns:\n - ${aws_acm_certificate.cert.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import domain configurations using the name. For example:\n\n```sh\n $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example\n```\n ", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the domain configuration.\n" + }, + "authorizerConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationAuthorizerConfig:DomainConfigurationAuthorizerConfig", + "description": "An object that specifies the authorization service for a domain. See below.\n" + }, + "domainName": { + "type": "string", + "description": "Fully-qualified domain name.\n" + }, + "domainType": { + "type": "string", + "description": "The type of the domain.\n" + }, + "name": { + "type": "string", + "description": "The name of the domain configuration. This value must be unique to a region.\n" + }, + "serverCertificateArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it.\n" + }, + "serviceType": { + "type": "string", + "description": "The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type.\n" + }, + "status": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to this 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.", + "secret": true + }, + "tlsConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationTlsConfig:DomainConfigurationTlsConfig", + "description": "An object that specifies the TLS configuration for a domain. See below.\n" + }, + "validationCertificateArn": { + "type": "string", + "description": "The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains.\n" + } + }, + "required": [ + "arn", + "domainType", + "name", + "tagsAll", + "tlsConfig" + ], + "inputProperties": { + "authorizerConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationAuthorizerConfig:DomainConfigurationAuthorizerConfig", + "description": "An object that specifies the authorization service for a domain. See below.\n" + }, + "domainName": { + "type": "string", + "description": "Fully-qualified domain name.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the domain configuration. This value must be unique to a region.\n", + "willReplaceOnChanges": true + }, + "serverCertificateArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it.\n", + "willReplaceOnChanges": true + }, + "serviceType": { + "type": "string", + "description": "The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tlsConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationTlsConfig:DomainConfigurationTlsConfig", + "description": "An object that specifies the TLS configuration for a domain. See below.\n" + }, + "validationCertificateArn": { + "type": "string", + "description": "The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains.\n", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering DomainConfiguration resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the domain configuration.\n" + }, + "authorizerConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationAuthorizerConfig:DomainConfigurationAuthorizerConfig", + "description": "An object that specifies the authorization service for a domain. See below.\n" + }, + "domainName": { + "type": "string", + "description": "Fully-qualified domain name.\n", + "willReplaceOnChanges": true + }, + "domainType": { + "type": "string", + "description": "The type of the domain.\n" + }, + "name": { + "type": "string", + "description": "The name of the domain configuration. This value must be unique to a region.\n", + "willReplaceOnChanges": true + }, + "serverCertificateArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it.\n", + "willReplaceOnChanges": true + }, + "serviceType": { + "type": "string", + "description": "The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to this 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.", + "secret": true + }, + "tlsConfig": { + "$ref": "#/types/aws:iot/DomainConfigurationTlsConfig:DomainConfigurationTlsConfig", + "description": "An object that specifies the TLS configuration for a domain. See below.\n" + }, + "validationCertificateArn": { + "type": "string", + "description": "The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "aws:iot/indexingConfiguration:IndexingConfiguration": { - "description": "Managing [IoT Thing indexing](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.IndexingConfiguration(\"example\", {thingIndexingConfiguration: {\n customFields: [\n {\n name: \"shadow.desired.power\",\n type: \"Boolean\",\n },\n {\n name: \"attributes.version\",\n type: \"Number\",\n },\n {\n name: \"shadow.name.thing1shadow.desired.DefaultDesired\",\n type: \"String\",\n },\n {\n name: \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type: \"Number\",\n },\n ],\n deviceDefenderIndexingMode: \"VIOLATIONS\",\n namedShadowIndexingMode: \"ON\",\n thingConnectivityIndexingMode: \"STATUS\",\n thingIndexingMode: \"REGISTRY_AND_SHADOW\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.IndexingConfiguration(\"example\", thing_indexing_configuration=aws.iot.IndexingConfigurationThingIndexingConfigurationArgs(\n custom_fields=[\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.desired.power\",\n type=\"Boolean\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"attributes.version\",\n type=\"Number\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.name.thing1shadow.desired.DefaultDesired\",\n type=\"String\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type=\"Number\",\n ),\n ],\n device_defender_indexing_mode=\"VIOLATIONS\",\n named_shadow_indexing_mode=\"ON\",\n thing_connectivity_indexing_mode=\"STATUS\",\n thing_indexing_mode=\"REGISTRY_AND_SHADOW\",\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.Iot.IndexingConfiguration(\"example\", new()\n {\n ThingIndexingConfiguration = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationArgs\n {\n CustomFields = new[]\n {\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.desired.power\",\n Type = \"Boolean\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"attributes.version\",\n Type = \"Number\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.name.thing1shadow.desired.DefaultDesired\",\n Type = \"String\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n Type = \"Number\",\n },\n },\n DeviceDefenderIndexingMode = \"VIOLATIONS\",\n NamedShadowIndexingMode = \"ON\",\n ThingConnectivityIndexingMode = \"STATUS\",\n ThingIndexingMode = \"REGISTRY_AND_SHADOW\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewIndexingConfiguration(ctx, \"example\", \u0026iot.IndexingConfigurationArgs{\n\t\t\tThingIndexingConfiguration: \u0026iot.IndexingConfigurationThingIndexingConfigurationArgs{\n\t\t\t\tCustomFields: iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArray{\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.desired.power\"),\n\t\t\t\t\t\tType: pulumi.String(\"Boolean\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"attributes.version\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.name.thing1shadow.desired.DefaultDesired\"),\n\t\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDeviceDefenderIndexingMode: pulumi.String(\"VIOLATIONS\"),\n\t\t\t\tNamedShadowIndexingMode: pulumi.String(\"ON\"),\n\t\t\t\tThingConnectivityIndexingMode: pulumi.String(\"STATUS\"),\n\t\t\t\tThingIndexingMode: pulumi.String(\"REGISTRY_AND_SHADOW\"),\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.iot.IndexingConfiguration;\nimport com.pulumi.aws.iot.IndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndexingConfiguration(\"example\", IndexingConfigurationArgs.builder() \n .thingIndexingConfiguration(IndexingConfigurationThingIndexingConfigurationArgs.builder()\n .customFields( \n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.desired.power\")\n .type(\"Boolean\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"attributes.version\")\n .type(\"Number\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.name.thing1shadow.desired.DefaultDesired\")\n .type(\"String\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\")\n .type(\"Number\")\n .build())\n .deviceDefenderIndexingMode(\"VIOLATIONS\")\n .namedShadowIndexingMode(\"ON\")\n .thingConnectivityIndexingMode(\"STATUS\")\n .thingIndexingMode(\"REGISTRY_AND_SHADOW\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:IndexingConfiguration\n properties:\n thingIndexingConfiguration:\n customFields:\n - name: shadow.desired.power\n type: Boolean\n - name: attributes.version\n type: Number\n - name: shadow.name.thing1shadow.desired.DefaultDesired\n type: String\n - name: deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\n type: Number\n deviceDefenderIndexingMode: VIOLATIONS\n namedShadowIndexingMode: ON\n thingConnectivityIndexingMode: STATUS\n thingIndexingMode: REGISTRY_AND_SHADOW\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Managing [IoT Thing indexing](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.iot.IndexingConfiguration(\"example\", {thingIndexingConfiguration: {\n customFields: [\n {\n name: \"shadow.desired.power\",\n type: \"Boolean\",\n },\n {\n name: \"attributes.version\",\n type: \"Number\",\n },\n {\n name: \"shadow.name.thing1shadow.desired.DefaultDesired\",\n type: \"String\",\n },\n {\n name: \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type: \"Number\",\n },\n ],\n deviceDefenderIndexingMode: \"VIOLATIONS\",\n filter: {\n namedShadowNames: [\"thing1shadow\"],\n },\n namedShadowIndexingMode: \"ON\",\n thingConnectivityIndexingMode: \"STATUS\",\n thingIndexingMode: \"REGISTRY_AND_SHADOW\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iot.IndexingConfiguration(\"example\", thing_indexing_configuration=aws.iot.IndexingConfigurationThingIndexingConfigurationArgs(\n custom_fields=[\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.desired.power\",\n type=\"Boolean\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"attributes.version\",\n type=\"Number\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"shadow.name.thing1shadow.desired.DefaultDesired\",\n type=\"String\",\n ),\n aws.iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs(\n name=\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n type=\"Number\",\n ),\n ],\n device_defender_indexing_mode=\"VIOLATIONS\",\n filter=aws.iot.IndexingConfigurationThingIndexingConfigurationFilterArgs(\n named_shadow_names=[\"thing1shadow\"],\n ),\n named_shadow_indexing_mode=\"ON\",\n thing_connectivity_indexing_mode=\"STATUS\",\n thing_indexing_mode=\"REGISTRY_AND_SHADOW\",\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.Iot.IndexingConfiguration(\"example\", new()\n {\n ThingIndexingConfiguration = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationArgs\n {\n CustomFields = new[]\n {\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.desired.power\",\n Type = \"Boolean\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"attributes.version\",\n Type = \"Number\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"shadow.name.thing1shadow.desired.DefaultDesired\",\n Type = \"String\",\n },\n new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs\n {\n Name = \"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\",\n Type = \"Number\",\n },\n },\n DeviceDefenderIndexingMode = \"VIOLATIONS\",\n Filter = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs\n {\n NamedShadowNames = new[]\n {\n \"thing1shadow\",\n },\n },\n NamedShadowIndexingMode = \"ON\",\n ThingConnectivityIndexingMode = \"STATUS\",\n ThingIndexingMode = \"REGISTRY_AND_SHADOW\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iot.NewIndexingConfiguration(ctx, \"example\", \u0026iot.IndexingConfigurationArgs{\n\t\t\tThingIndexingConfiguration: \u0026iot.IndexingConfigurationThingIndexingConfigurationArgs{\n\t\t\t\tCustomFields: iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArray{\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.desired.power\"),\n\t\t\t\t\t\tType: pulumi.String(\"Boolean\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"attributes.version\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"shadow.name.thing1shadow.desired.DefaultDesired\"),\n\t\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026iot.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{\n\t\t\t\t\t\tName: pulumi.String(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\"),\n\t\t\t\t\t\tType: pulumi.String(\"Number\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDeviceDefenderIndexingMode: pulumi.String(\"VIOLATIONS\"),\n\t\t\t\tFilter: \u0026iot.IndexingConfigurationThingIndexingConfigurationFilterArgs{\n\t\t\t\t\tNamedShadowNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"thing1shadow\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNamedShadowIndexingMode: pulumi.String(\"ON\"),\n\t\t\t\tThingConnectivityIndexingMode: pulumi.String(\"STATUS\"),\n\t\t\t\tThingIndexingMode: pulumi.String(\"REGISTRY_AND_SHADOW\"),\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.iot.IndexingConfiguration;\nimport com.pulumi.aws.iot.IndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationArgs;\nimport com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndexingConfiguration(\"example\", IndexingConfigurationArgs.builder() \n .thingIndexingConfiguration(IndexingConfigurationThingIndexingConfigurationArgs.builder()\n .customFields( \n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.desired.power\")\n .type(\"Boolean\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"attributes.version\")\n .type(\"Number\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"shadow.name.thing1shadow.desired.DefaultDesired\")\n .type(\"String\")\n .build(),\n IndexingConfigurationThingIndexingConfigurationCustomFieldArgs.builder()\n .name(\"deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\")\n .type(\"Number\")\n .build())\n .deviceDefenderIndexingMode(\"VIOLATIONS\")\n .filter(IndexingConfigurationThingIndexingConfigurationFilterArgs.builder()\n .namedShadowNames(\"thing1shadow\")\n .build())\n .namedShadowIndexingMode(\"ON\")\n .thingConnectivityIndexingMode(\"STATUS\")\n .thingIndexingMode(\"REGISTRY_AND_SHADOW\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iot:IndexingConfiguration\n properties:\n thingIndexingConfiguration:\n customFields:\n - name: shadow.desired.power\n type: Boolean\n - name: attributes.version\n type: Number\n - name: shadow.name.thing1shadow.desired.DefaultDesired\n type: String\n - name: deviceDefender.securityProfile1.NUMBER_VALUE_BEHAVIOR.lastViolationValue.number\n type: Number\n deviceDefenderIndexingMode: VIOLATIONS\n filter:\n namedShadowNames:\n - thing1shadow\n namedShadowIndexingMode: ON\n thingConnectivityIndexingMode: STATUS\n thingIndexingMode: REGISTRY_AND_SHADOW\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "thingGroupIndexingConfiguration": { "$ref": "#/types/aws:iot/IndexingConfigurationThingGroupIndexingConfiguration:IndexingConfigurationThingGroupIndexingConfiguration", @@ -227701,6 +228927,10 @@ "templateBody": { "type": "string", "description": "The JSON formatted contents of the fleet provisioning template.\n" + }, + "type": { + "type": "string", + "description": "The type you define in a provisioning template.\n" } }, "required": [ @@ -227709,7 +228939,8 @@ "name", "provisioningRoleArn", "tagsAll", - "templateBody" + "templateBody", + "type" ], "inputProperties": { "description": { @@ -227743,6 +228974,11 @@ "templateBody": { "type": "string", "description": "The JSON formatted contents of the fleet provisioning template.\n" + }, + "type": { + "type": "string", + "description": "The type you define in a provisioning template.\n", + "willReplaceOnChanges": true } }, "requiredInputs": [ @@ -227800,6 +229036,11 @@ "templateBody": { "type": "string", "description": "The JSON formatted contents of the fleet provisioning template.\n" + }, + "type": { + "type": "string", + "description": "The type you define in a provisioning template.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -236469,6 +237710,10 @@ "type": "string", "description": "The DNS name of the load balancer.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -236581,6 +237826,7 @@ "internal", "ipAddressType", "name", + "namePrefix", "securityGroups", "subnetMappings", "subnets", @@ -236602,6 +237848,10 @@ "type": "string", "description": "Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -236724,6 +237974,10 @@ "type": "string", "description": "The DNS name of the load balancer.\n" }, + "dnsRecordClientRoutingPolicy": { + "type": "string", + "description": "Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers.\n" + }, "dropInvalidHeaderFields": { "type": "boolean", "description": "Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`.\n" @@ -236843,7 +238097,7 @@ ] }, "aws:lb/targetGroup:TargetGroup": { - "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Instance Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### IP Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Lambda Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {targetType: \"lambda\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\", target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: lambda\n```\n{{% /example %}}\n{{% example %}}\n### ALB Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n $ pulumi import aws:lb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n ", + "description": "Provides a Target Group resource for use with Load Balancer resources.\n\n\u003e **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Instance Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst test = new aws.lb.TargetGroup(\"test\", {\n port: 80,\n protocol: \"HTTP\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\ntest = aws.lb.TargetGroup(\"test\",\n port=80,\n protocol=\"HTTP\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var test = new Aws.LB.TargetGroup(\"test\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"test\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var test = new TargetGroup(\"test\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### IP Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.ec2.Vpc(\"main\", {cidrBlock: \"10.0.0.0/16\"});\nconst ip_example = new aws.lb.TargetGroup(\"ip-example\", {\n port: 80,\n protocol: \"HTTP\",\n targetType: \"ip\",\n vpcId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.ec2.Vpc(\"main\", cidr_block=\"10.0.0.0/16\")\nip_example = aws.lb.TargetGroup(\"ip-example\",\n port=80,\n protocol=\"HTTP\",\n target_type=\"ip\",\n vpc_id=main.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Aws.Ec2.Vpc(\"main\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var ip_example = new Aws.LB.TargetGroup(\"ip-example\", new()\n {\n Port = 80,\n Protocol = \"HTTP\",\n TargetType = \"ip\",\n VpcId = main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := ec2.NewVpc(ctx, \"main\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lb.NewTargetGroup(ctx, \"ip-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tTargetType: pulumi.String(\"ip\"),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var main = new Vpc(\"main\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var ip_example = new TargetGroup(\"ip-example\", TargetGroupArgs.builder() \n .port(80)\n .protocol(\"HTTP\")\n .targetType(\"ip\")\n .vpcId(main.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ip-example:\n type: aws:lb:TargetGroup\n properties:\n port: 80\n protocol: HTTP\n targetType: ip\n vpcId: ${main.id}\n main:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n```\n{{% /example %}}\n{{% example %}}\n### Lambda Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst lambda_example = new aws.lb.TargetGroup(\"lambda-example\", {targetType: \"lambda\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nlambda_example = aws.lb.TargetGroup(\"lambda-example\", target_type=\"lambda\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var lambda_example = new Aws.LB.TargetGroup(\"lambda-example\", new()\n {\n TargetType = \"lambda\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"lambda-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"lambda\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var lambda_example = new TargetGroup(\"lambda-example\", TargetGroupArgs.builder() \n .targetType(\"lambda\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n lambda-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: lambda\n```\n{{% /example %}}\n{{% example %}}\n### ALB Target Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alb_example = new aws.lb.TargetGroup(\"alb-example\", {\n targetType: \"alb\",\n port: 80,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalb_example = aws.lb.TargetGroup(\"alb-example\",\n target_type=\"alb\",\n port=80,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alb_example = new Aws.LB.TargetGroup(\"alb-example\", new()\n {\n TargetType = \"alb\",\n Port = 80,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"alb-example\", \u0026lb.TargetGroupArgs{\n\t\t\tTargetType: pulumi.String(\"alb\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var alb_example = new TargetGroup(\"alb-example\", TargetGroupArgs.builder() \n .targetType(\"alb\")\n .port(80)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alb-example:\n type: aws:lb:TargetGroup\n properties:\n targetType: alb\n port: 80\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n```\n{{% /example %}}\n{{% example %}}\n### Target group with unhealthy connection termination disabled\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst tcp_example = new aws.lb.TargetGroup(\"tcp-example\", {\n port: 25,\n protocol: \"TCP\",\n vpcId: aws_vpc.main.id,\n targetHealthStates: [{\n enableUnhealthyConnectionTermination: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntcp_example = aws.lb.TargetGroup(\"tcp-example\",\n port=25,\n protocol=\"TCP\",\n vpc_id=aws_vpc[\"main\"][\"id\"],\n target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs(\n enable_unhealthy_connection_termination=False,\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 tcp_example = new Aws.LB.TargetGroup(\"tcp-example\", new()\n {\n Port = 25,\n Protocol = \"TCP\",\n VpcId = aws_vpc.Main.Id,\n TargetHealthStates = new[]\n {\n new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs\n {\n EnableUnhealthyConnectionTermination = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb\"\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 := lb.NewTargetGroup(ctx, \"tcp-example\", \u0026lb.TargetGroupArgs{\n\t\t\tPort: pulumi.Int(25),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Main.Id),\n\t\t\tTargetHealthStates: lb.TargetGroupTargetHealthStateArray{\n\t\t\t\t\u0026lb.TargetGroupTargetHealthStateArgs{\n\t\t\t\t\tEnableUnhealthyConnectionTermination: pulumi.Bool(false),\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.lb.TargetGroup;\nimport com.pulumi.aws.lb.TargetGroupArgs;\nimport com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tcp_example = new TargetGroup(\"tcp-example\", TargetGroupArgs.builder() \n .port(25)\n .protocol(\"TCP\")\n .vpcId(aws_vpc.main().id())\n .targetHealthStates(TargetGroupTargetHealthStateArgs.builder()\n .enableUnhealthyConnectionTermination(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp-example:\n type: aws:lb:TargetGroup\n properties:\n port: 25\n protocol: TCP\n vpcId: ${aws_vpc.main.id}\n targetHealthStates:\n - enableUnhealthyConnectionTermination: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Target Groups using their ARN. For example:\n\n```sh\n $ pulumi import aws:lb/targetGroup:TargetGroup app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314\n```\n ", "properties": { "arn": { "type": "string", @@ -236940,6 +238194,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n" @@ -236952,16 +238213,19 @@ "required": [ "arn", "arnSuffix", + "connectionTermination", "healthCheck", "ipAddressType", "loadBalancingAlgorithmType", "loadBalancingCrossZoneEnabled", "name", + "namePrefix", "preserveClientIp", "protocolVersion", "stickiness", "tagsAll", - "targetFailovers" + "targetFailovers", + "targetHealthStates" ], "inputProperties": { "connectionTermination": { @@ -237048,6 +238312,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n", @@ -237163,6 +238434,13 @@ }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, + "targetHealthStates": { + "type": "array", + "items": { + "$ref": "#/types/aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + }, + "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" + }, "targetType": { "type": "string", "description": "Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`.\n\nNote that you can't specify targets for a target group using both instance IDs and IP addresses.\n\nIf the target type is `ip`, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.\n\nNetwork Load Balancers do not support the `lambda` target type.\n\nApplication Load Balancers do not support the `alb` target type.\n", @@ -240728,6 +242006,7 @@ "encryptedPrivateKey", "fingerprint", "name", + "namePrefix", "privateKey", "publicKey", "tagsAll" @@ -246392,6 +247671,155 @@ "type": "object" } }, + "aws:msk/replicator:Replicator": { + "description": "Resource for managing an AWS Managed Streaming for Kafka Replicator.\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import MSK replicators using the replicator ARN. For example:\n\n```sh\n $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n ", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Replicator. 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" + }, + "currentVersion": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A summary description of the replicator.\n" + }, + "kafkaClusters": { + "type": "array", + "items": { + "$ref": "#/types/aws:msk/ReplicatorKafkaCluster:ReplicatorKafkaCluster" + }, + "description": "A list of Kafka clusters which are targets of the replicator.\n" + }, + "replicationInfoList": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoList:ReplicatorReplicationInfoList", + "description": "A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.\n" + }, + "replicatorName": { + "type": "string", + "description": "The name of the replicator.\n" + }, + "serviceExecutionRoleArn": { + "type": "string", + "description": "The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead.", + "secret": true + } + }, + "required": [ + "arn", + "currentVersion", + "kafkaClusters", + "replicationInfoList", + "replicatorName", + "serviceExecutionRoleArn", + "tagsAll" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A summary description of the replicator.\n" + }, + "kafkaClusters": { + "type": "array", + "items": { + "$ref": "#/types/aws:msk/ReplicatorKafkaCluster:ReplicatorKafkaCluster" + }, + "description": "A list of Kafka clusters which are targets of the replicator.\n", + "willReplaceOnChanges": true + }, + "replicationInfoList": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoList:ReplicatorReplicationInfoList", + "description": "A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.\n", + "willReplaceOnChanges": true + }, + "replicatorName": { + "type": "string", + "description": "The name of the replicator.\n" + }, + "serviceExecutionRoleArn": { + "type": "string", + "description": "The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "kafkaClusters", + "replicationInfoList", + "replicatorName", + "serviceExecutionRoleArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Replicator resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Replicator. 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" + }, + "currentVersion": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A summary description of the replicator.\n" + }, + "kafkaClusters": { + "type": "array", + "items": { + "$ref": "#/types/aws:msk/ReplicatorKafkaCluster:ReplicatorKafkaCluster" + }, + "description": "A list of Kafka clusters which are targets of the replicator.\n", + "willReplaceOnChanges": true + }, + "replicationInfoList": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoList:ReplicatorReplicationInfoList", + "description": "A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.\n", + "willReplaceOnChanges": true + }, + "replicatorName": { + "type": "string", + "description": "The name of the replicator.\n" + }, + "serviceExecutionRoleArn": { + "type": "string", + "description": "The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead.", + "secret": true + } + }, + "type": "object" + } + }, "aws:msk/scramSecretAssociation:ScramSecretAssociation": { "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"exampleCluster\", {clientAuthentication: {\n sasl: {\n scram: true,\n },\n}});\nconst exampleKey = new aws.kms.Key(\"exampleKey\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"exampleSecret\", {kmsKeyId: exampleKey.keyId});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"exampleSecretVersion\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"exampleScramSecretAssociation\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst examplePolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"exampleSecretPolicy\", {\n secretArn: exampleSecret.arn,\n policy: examplePolicyDocument.apply(examplePolicyDocument =\u003e examplePolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"exampleCluster\", client_authentication=aws.msk.ClusterClientAuthenticationArgs(\n sasl=aws.msk.ClusterClientAuthenticationSaslArgs(\n scram=True,\n ),\n))\nexample_key = aws.kms.Key(\"exampleKey\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"exampleSecret\", kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"exampleSecretVersion\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"exampleScramSecretAssociation\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts=pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n sid=\"AWSKafkaResourcePolicy\",\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"kafka.amazonaws.com\"],\n )],\n actions=[\"secretsmanager:getSecretValue\"],\n resources=[example_secret.arn],\n)])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"exampleSecretPolicy\",\n secret_arn=example_secret.arn,\n policy=example_policy_document.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Msk.Cluster(\"exampleCluster\", new()\n {\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"exampleKey\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"exampleSecret\", new()\n {\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"exampleSecretVersion\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"exampleScramSecretAssociation\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleSecretVersion,\n },\n });\n\n var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"exampleSecretPolicy\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = examplePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"exampleCluster\", \u0026msk.ClusterArgs{\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"exampleKey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"exampleSecret\", \u0026secretsmanager.SecretArgs{\n\t\t\tKmsKeyId: exampleKey.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"exampleSecretVersion\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"exampleScramSecretAssociation\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"exampleSecretPolicy\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: examplePolicyDocument.ApplyT(func(examplePolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026examplePolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder() \n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder() \n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder() \n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder() \n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder() \n .secretArn(exampleSecret.arn())\n .policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(examplePolicyDocument -\u003e examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependson:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n properties:\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n properties:\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${examplePolicyDocument.json}\nvariables:\n examplePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n $ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n ", "properties": { @@ -247625,7 +249053,7 @@ "items": { "type": "string" }, - "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`.\n" + "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.\n" }, "endpoint": { "type": "string", @@ -247802,7 +249230,7 @@ "items": { "type": "string" }, - "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`.\n" + "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.\n" }, "engine": { "type": "string", @@ -247961,7 +249389,7 @@ "items": { "type": "string" }, - "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`.\n" + "description": "A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.\n" }, "endpoint": { "type": "string", @@ -248289,7 +249717,7 @@ }, "engineVersion": { "type": "string", - "description": "The neptune engine version.\n" + "description": "The neptune engine version. Currently configuring this argumnet has no effect.\n" }, "identifier": { "type": "string", @@ -248406,8 +249834,7 @@ }, "engineVersion": { "type": "string", - "description": "The neptune engine version.\n", - "willReplaceOnChanges": true + "description": "The neptune engine version. Currently configuring this argumnet has no effect.\n" }, "identifier": { "type": "string", @@ -248510,8 +249937,7 @@ }, "engineVersion": { "type": "string", - "description": "The neptune engine version.\n", - "willReplaceOnChanges": true + "description": "The neptune engine version. Currently configuring this argumnet has no effect.\n" }, "identifier": { "type": "string", @@ -253213,7 +254639,7 @@ } }, "aws:opensearch/domainPolicy:DomainPolicy": { - "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Domain(\"example\", DomainArgs.builder() \n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var mainPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .effect(\"Allow\")\n .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .condition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder() \n .domainName(example.domainName())\n .accessPolicies(mainPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mainPolicyDocument -\u003e mainPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${mainPolicyDocument.json}\nvariables:\n mainPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n condition:\n - test: IpAddress\n variable: aws:SourceIp\n values: 127.0.0.1/32\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.opensearch.Domain(\"example\", {engineVersion: \"OpenSearch_1.1\"});\nconst mainPolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"*\",\n identifiers: [\"*\"],\n }],\n actions: [\"es:*\"],\n resources: [pulumi.interpolate`${example.arn}/*`],\n conditions: [{\n test: \"IpAddress\",\n variable: \"aws:SourceIp\",\n values: [\"127.0.0.1/32\"],\n }],\n }],\n});\nconst mainDomainPolicy = new aws.opensearch.DomainPolicy(\"mainDomainPolicy\", {\n domainName: example.domainName,\n accessPolicies: mainPolicyDocument.apply(mainPolicyDocument =\u003e mainPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.opensearch.Domain(\"example\", engine_version=\"OpenSearch_1.1\")\nmain_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"*\",\n identifiers=[\"*\"],\n )],\n actions=[\"es:*\"],\n resources=[example.arn.apply(lambda arn: f\"{arn}/*\")],\n conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"IpAddress\",\n variable=\"aws:SourceIp\",\n values=[\"127.0.0.1/32\"],\n )],\n)])\nmain_domain_policy = aws.opensearch.DomainPolicy(\"mainDomainPolicy\",\n domain_name=example.domain_name,\n access_policies=main_policy_document.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.OpenSearch.Domain(\"example\", new()\n {\n EngineVersion = \"OpenSearch_1.1\",\n });\n\n var mainPolicyDocument = 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 = \"*\",\n Identifiers = new[]\n {\n \"*\",\n },\n },\n },\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n $\"{example.Arn}/*\",\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"IpAddress\",\n Variable = \"aws:SourceIp\",\n Values = new[]\n {\n \"127.0.0.1/32\",\n },\n },\n },\n },\n },\n });\n\n var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy(\"mainDomainPolicy\", new()\n {\n DomainName = example.DomainName,\n AccessPolicies = mainPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\texample, err := opensearch.NewDomain(ctx, \"example\", \u0026opensearch.DomainArgs{\n\t\t\tEngineVersion: pulumi.String(\"OpenSearch_1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainPolicyDocument := 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\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"*\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.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\tConditions: iam.GetPolicyDocumentStatementConditionArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementConditionArgs{\n\t\t\t\t\t\t\tTest: pulumi.String(\"IpAddress\"),\n\t\t\t\t\t\t\tVariable: pulumi.String(\"aws:SourceIp\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\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\t_, err = opensearch.NewDomainPolicy(ctx, \"mainDomainPolicy\", \u0026opensearch.DomainPolicyArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tAccessPolicies: mainPolicyDocument.ApplyT(func(mainPolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026mainPolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.opensearch.DomainPolicy;\nimport com.pulumi.aws.opensearch.DomainPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Domain(\"example\", DomainArgs.builder() \n .engineVersion(\"OpenSearch_1.1\")\n .build());\n\n final var mainPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"*\")\n .identifiers(\"*\")\n .build())\n .actions(\"es:*\")\n .resources(example.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"IpAddress\")\n .variable(\"aws:SourceIp\")\n .values(\"127.0.0.1/32\")\n .build())\n .build())\n .build());\n\n var mainDomainPolicy = new DomainPolicy(\"mainDomainPolicy\", DomainPolicyArgs.builder() \n .domainName(example.domainName())\n .accessPolicies(mainPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(mainPolicyDocument -\u003e mainPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:opensearch:Domain\n properties:\n engineVersion: OpenSearch_1.1\n mainDomainPolicy:\n type: aws:opensearch:DomainPolicy\n properties:\n domainName: ${example.domainName}\n accessPolicies: ${mainPolicyDocument.json}\nvariables:\n mainPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: '*'\n identifiers:\n - '*'\n actions:\n - es:*\n resources:\n - ${example.arn}/*\n conditions:\n - test: IpAddress\n variable: aws:SourceIp\n values:\n - 127.0.0.1/32\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessPolicies": { "type": "string", @@ -261740,6 +263166,7 @@ "applicationId", "arn", "name", + "namePrefix", "tagsAll" ], "inputProperties": { @@ -266132,7 +267559,7 @@ "properties": { "allocatedStorage": { "type": "integer", - "description": "(Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" }, "allowMajorVersionUpgrade": { "type": "boolean", @@ -266151,7 +267578,7 @@ "items": { "type": "string" }, - "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured.\n" + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nRDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up.\nWe recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary.\nA maximum of 3 AZs can be configured.\n" }, "backtrackWindow": { "type": "integer", @@ -266190,7 +267617,7 @@ }, "dbClusterInstanceClass": { "type": "string", - "description": "(Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" }, "dbClusterParameterGroupName": { "type": "string", @@ -266202,7 +267629,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n" + "description": "DB subnet group to associate with this DB cluster.\n**NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n" }, "dbSystemId": { "type": "string", @@ -266210,7 +267637,7 @@ }, "deletionProtection": { "type": "boolean", - "description": "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`.\n" + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to `true`.\nThe default is `false`.\n" }, "enableGlobalWriteForwarding": { "type": "boolean", @@ -266359,7 +267786,7 @@ }, "storageType": { "type": "string", - "description": "(Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" }, "tags": { "type": "object", @@ -266421,7 +267848,7 @@ "inputProperties": { "allocatedStorage": { "type": "integer", - "description": "(Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" }, "allowMajorVersionUpgrade": { "type": "boolean", @@ -266436,7 +267863,7 @@ "items": { "type": "string" }, - "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured.\n", + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nRDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up.\nWe recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary.\nA maximum of 3 AZs can be configured.\n", "willReplaceOnChanges": true }, "backtrackWindow": { @@ -266475,7 +267902,7 @@ }, "dbClusterInstanceClass": { "type": "string", - "description": "(Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" }, "dbClusterParameterGroupName": { "type": "string", @@ -266487,7 +267914,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n", + "description": "DB subnet group to associate with this DB cluster.\n**NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n", "willReplaceOnChanges": true }, "dbSystemId": { @@ -266497,7 +267924,7 @@ }, "deletionProtection": { "type": "boolean", - "description": "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`.\n" + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to `true`.\nThe default is `false`.\n" }, "enableGlobalWriteForwarding": { "type": "boolean", @@ -266649,7 +268076,7 @@ }, "storageType": { "type": "string", - "description": "(Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" }, "tags": { "type": "object", @@ -266674,7 +268101,7 @@ "properties": { "allocatedStorage": { "type": "integer", - "description": "(Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" + "description": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n" }, "allowMajorVersionUpgrade": { "type": "boolean", @@ -266693,7 +268120,7 @@ "items": { "type": "string" }, - "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured.\n", + "description": "List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created.\nRDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up.\nWe recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary.\nA maximum of 3 AZs can be configured.\n", "willReplaceOnChanges": true }, "backtrackWindow": { @@ -266736,7 +268163,7 @@ }, "dbClusterInstanceClass": { "type": "string", - "description": "(Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" + "description": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide.\n" }, "dbClusterParameterGroupName": { "type": "string", @@ -266748,7 +268175,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n", + "description": "DB subnet group to associate with this DB cluster.\n**NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster.\n", "willReplaceOnChanges": true }, "dbSystemId": { @@ -266758,7 +268185,7 @@ }, "deletionProtection": { "type": "boolean", - "description": "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`.\n" + "description": "If the DB cluster should have deletion protection enabled.\nThe database can't be deleted when this value is set to `true`.\nThe default is `false`.\n" }, "enableGlobalWriteForwarding": { "type": "boolean", @@ -266933,7 +268360,7 @@ }, "storageType": { "type": "string", - "description": "(Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" + "description": "(Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `\"\"`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `\"\"` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters).\n" }, "tags": { "type": "object", @@ -268972,7 +270399,7 @@ }, "blueGreenUpdate": { "$ref": "#/types/aws:rds/InstanceBlueGreenUpdate:InstanceBlueGreenUpdate", - "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee blue_green_update below\n" + "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee `blue_green_update` below.\n" }, "caCertIdentifier": { "type": "string", @@ -269079,7 +270506,7 @@ }, "licenseModel": { "type": "string", - "description": "(Optional, but required for some DB engines, i.e., Oracle\nSE1) License model information for this DB instance.\n" + "description": "License model information for this DB instance. Valid values for this field are as follows:\n* RDS for MariaDB: `general-public-license`\n* RDS for Microsoft SQL Server: `license-included`\n* RDS for MySQL: `general-public-license`\n* RDS for Oracle: `bring-your-own-license | license-included`\n* RDS for PostgreSQL: `postgresql-license`\n" }, "listenerEndpoints": { "type": "array", @@ -269336,7 +270763,7 @@ }, "blueGreenUpdate": { "$ref": "#/types/aws:rds/InstanceBlueGreenUpdate:InstanceBlueGreenUpdate", - "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee blue_green_update below\n" + "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee `blue_green_update` below.\n" }, "caCertIdentifier": { "type": "string", @@ -269441,7 +270868,7 @@ }, "licenseModel": { "type": "string", - "description": "(Optional, but required for some DB engines, i.e., Oracle\nSE1) License model information for this DB instance.\n" + "description": "License model information for this DB instance. Valid values for this field are as follows:\n* RDS for MariaDB: `general-public-license`\n* RDS for Microsoft SQL Server: `license-included`\n* RDS for MySQL: `general-public-license`\n* RDS for Oracle: `bring-your-own-license | license-included`\n* RDS for PostgreSQL: `postgresql-license`\n" }, "maintenanceWindow": { "type": "string", @@ -269641,7 +271068,7 @@ }, "blueGreenUpdate": { "$ref": "#/types/aws:rds/InstanceBlueGreenUpdate:InstanceBlueGreenUpdate", - "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee blue_green_update below\n" + "description": "Enables low-downtime updates using [RDS Blue/Green deployments][blue-green].\nSee `blue_green_update` below.\n" }, "caCertIdentifier": { "type": "string", @@ -269762,7 +271189,7 @@ }, "licenseModel": { "type": "string", - "description": "(Optional, but required for some DB engines, i.e., Oracle\nSE1) License model information for this DB instance.\n" + "description": "License model information for this DB instance. Valid values for this field are as follows:\n* RDS for MariaDB: `general-public-license`\n* RDS for Microsoft SQL Server: `license-included`\n* RDS for MySQL: `general-public-license`\n* RDS for Oracle: `bring-your-own-license | license-included`\n* RDS for PostgreSQL: `postgresql-license`\n" }, "listenerEndpoints": { "type": "array", @@ -296212,6 +297639,7 @@ "required": [ "arn", "name", + "namePrefix", "platformDisplayName", "platformId", "revocationRecords", @@ -296337,7 +297765,7 @@ "properties": { "action": { "type": "string", - "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`.\n" + "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`.\n" }, "principal": { "type": "string", @@ -296365,12 +297793,13 @@ "principal", "profileName", "profileVersion", - "statementId" + "statementId", + "statementIdPrefix" ], "inputProperties": { "action": { "type": "string", - "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`.\n", + "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`.\n", "willReplaceOnChanges": true }, "principal": { @@ -296409,7 +297838,7 @@ "properties": { "action": { "type": "string", - "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`.\n", + "description": "An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`.\n", "willReplaceOnChanges": true }, "principal": { @@ -327794,6 +329223,10 @@ "type": "string", "description": "Whether the self-service portal for the Client VPN endpoint is enabled.\n" }, + "selfServicePortalUrl": { + "type": "string", + "description": "The URL of the self-service portal.\n" + }, "serverCertificateArn": { "type": "string", "description": "The ARN of the server certificate.\n" @@ -327839,6 +329272,7 @@ "dnsServers", "securityGroupIds", "selfServicePortal", + "selfServicePortalUrl", "serverCertificateArn", "sessionTimeoutHours", "splitTunnel", @@ -335042,6 +336476,13 @@ "type": "string", "description": "ARN of the image recipe.\n" }, + "imageScanningConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:imagebuilder/getImageImageScanningConfiguration:getImageImageScanningConfiguration" + }, + "description": "List of an object with image scanning configuration fields.\n" + }, "imageTestsConfigurations": { "type": "array", "items": { @@ -335093,6 +336534,7 @@ "distributionConfigurationArn", "enhancedImageMetadataEnabled", "imageRecipeArn", + "imageScanningConfigurations", "imageTestsConfigurations", "infrastructureConfigurationArn", "name", @@ -340013,6 +341455,64 @@ ] } }, + "aws:mediaconvert/getQueue:getQueue": { + "description": "Retrieve information about a AWS Elemental MediaConvert Queue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.mediaconvert.getQueue({\n id: \"tf-example-queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.mediaconvert.get_queue(id=\"tf-example-queue\")\n```\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.MediaConvert.GetQueue.Invoke(new()\n {\n Id = \"tf-example-queue\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert\"\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 := mediaconvert.LookupQueue(ctx, \u0026mediaconvert.LookupQueueArgs{\n\t\t\tId: \"tf-example-queue\",\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.mediaconvert.MediaconvertFunctions;\nimport com.pulumi.aws.mediaconvert.inputs.GetQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = MediaconvertFunctions.getQueue(GetQueueArgs.builder()\n .id(\"tf-example-queue\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:mediaconvert:getQueue\n Arguments:\n id: tf-example-queue\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getQueue.\n", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the queue. The same as `name`.\n" + }, + "tags": { + "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" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getQueue.\n", + "properties": { + "arn": { + "type": "string", + "description": "The Arn of the queue.\n" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "The same as `id`.\n" + }, + "status": { + "type": "string", + "description": "The status of the queue.\n" + }, + "tags": { + "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" + } + }, + "type": "object", + "required": [ + "arn", + "id", + "name", + "status", + "tags" + ] + } + }, "aws:memorydb/getAcl:getAcl": { "description": "Provides information about a MemoryDB ACL.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.memorydb.getAcl({\n name: \"my-acl\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.memorydb.get_acl(name=\"my-acl\")\n```\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.MemoryDb.GetAcl.Invoke(new()\n {\n Name = \"my-acl\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/memorydb\"\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 := memorydb.LookupAcl(ctx, \u0026memorydb.LookupAclArgs{\n\t\t\tName: \"my-acl\",\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.memorydb.MemorydbFunctions;\nimport com.pulumi.aws.memorydb.inputs.GetAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = MemorydbFunctions.getAcl(GetAclArgs.builder()\n .name(\"my-acl\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:memorydb:getAcl\n Arguments:\n name: my-acl\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index f37856e9f12..18c181e7c4a 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,7 +3,7 @@ module github.com/pulumi/pulumi-aws/provider/v6 go 1.21.0 require ( - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.37 github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 @@ -17,6 +17,13 @@ require ( pgregory.net/rapid v0.6.1 ) +// This replace is copied from upstream/go.mod, and should be maintained only as long as +// upstream maintains the same replace. +// +// There is an equivalent replace in examples/go.mod. It should be updated/removed inline +// with this replace. +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.4.0 branch in the Pulumi fork. Upgrading // this dependency is sensitive and is worth doing carefully (such as reading release notes) @@ -28,7 +35,7 @@ replace ( ) require ( - cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go v0.110.7 // indirect cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.1 // indirect @@ -54,7 +61,7 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c // indirect github.com/YakDriver/regexache v0.23.0 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect @@ -64,92 +71,92 @@ 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.45.24 // indirect - github.com/aws/aws-sdk-go-v2 v1.21.1 // indirect + github.com/aws/aws-sdk-go v1.46.3 // indirect + github.com/aws/aws-sdk-go-v2 v1.21.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect - github.com/aws/aws-sdk-go-v2/config v1.18.44 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.42 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.11.6 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.19.1 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.13.43 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.19.2 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.22.6 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.55.2 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.16.6 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.58.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.16.7 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.38.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.18.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.17.5 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.20.0 // indirect github.com/aws/smithy-go v1.15.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.2.0 // indirect @@ -171,6 +178,7 @@ require ( github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect + github.com/gertd/go-pluralize v0.2.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.4.1 // indirect github.com/go-git/go-git/v5 v5.8.1 // indirect @@ -200,12 +208,12 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect + github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 // indirect github.com/hashicorp/go-getter v1.7.1 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.5.1 // indirect + github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect @@ -237,7 +245,7 @@ require ( github.com/hashicorp/yamux v0.1.1 // indirect github.com/huandu/xstrings v1.4.0 // indirect github.com/iancoleman/strcase v0.2.0 // indirect - github.com/imdario/mergo v0.3.15 // indirect + github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -321,7 +329,7 @@ require ( golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect golang.org/x/mod v0.13.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sync v0.4.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/term v0.13.0 // indirect @@ -330,11 +338,11 @@ require ( golang.org/x/tools v0.14.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.57.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect + google.golang.org/grpc v1.58.2 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/provider/go.sum b/provider/go.sum index 0ac092216e7..89702e40bad 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -40,8 +40,8 @@ cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRY cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= -cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= -cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= @@ -737,8 +737,9 @@ github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:m github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c h1:kMFnB0vCcX7IL/m9Y5LO+KQYv+t1CQOiFe6+SV2J7bE= +github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -822,202 +823,206 @@ 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.45.24 h1:TZx/CizkmCQn8Rtsb11iLYutEQVGK5PK9wAhwouELBo= -github.com/aws/aws-sdk-go v1.45.24/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.46.3 h1:zcrCu14ANOji6m38bUTxYdPqne4EXIvJQ2KXZ5oi9k0= +github.com/aws/aws-sdk-go v1.46.3/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= -github.com/aws/aws-sdk-go-v2 v1.21.1 h1:wjHYshtPpYOZm+/mu3NhVgRRc0baM6LJZOmxPZ5Cwzs= github.com/aws/aws-sdk-go-v2 v1.21.1/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= +github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= +github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= -github.com/aws/aws-sdk-go-v2/config v1.18.44 h1:U10NQ3OxiY0dGGozmVIENIDnCT0W432PWxk2VO8wGnY= -github.com/aws/aws-sdk-go-v2/config v1.18.44/go.mod h1:pHxnQBldd0heEdJmolLBk78D1Bf69YnKLY3LOpFImlU= +github.com/aws/aws-sdk-go-v2/config v1.19.1 h1:oe3vqcGftyk40icfLymhhhNysAwk0NfiwkDi2GTPMXs= +github.com/aws/aws-sdk-go-v2/config v1.19.1/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= -github.com/aws/aws-sdk-go-v2/credentials v1.13.42 h1:KMkjpZqcMOwtRHChVlHdNxTUUAC6NC/b58mRZDIdcRg= -github.com/aws/aws-sdk-go-v2/credentials v1.13.42/go.mod h1:7ltKclhvEB8305sBhrpls24HGxORl6qgnQqSJ314Uw8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43 h1:LU8vo40zBlo3R7bAvBVy/ku4nxGEyZe9N8MqAeFTzF8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 h1:3j5lrl9kVQrJ1BU4O0z7MQ8sa+UXdiLuo4j0V+odNI8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12/go.mod h1:JbFpcHDBdsex1zpIKuVRorZSQiZEyc3MykNCcjgz174= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVENjgLTAwGgoeriLDD5C+YlQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89 h1:XPqSyw8SBSLMRrF9Oip6tQpivXWJLMn8sdRoAsUCQQA= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.89/go.mod h1:OkYwM7gYm9HieL6emYtkg7Pb7Jd8FFM5Pl5uAZ1h2jo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92 h1:nLA7dGFC6v4P6b+hzqt5GqIGmIuN+jTJzojfdOLXWFE= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.92/go.mod h1:h+ei9z19AhoN+Dac92DwkzfbJ4mFUea92xgl5pKSG0Q= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 h1:817VqVe6wvwE46xXy6YF5RywvjOX6U2zRQQ6IbQFK0s= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42/go.mod h1:oDfgXoBBmj+kXnqxDDnIDnC56QBosglKp8ftRCTxR+0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 h1:7ZApaXzWbo8slc+W5TynuUlB4z66g44h7uqa3/d/BsY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36/go.mod h1:rwr4WnmFi3RJO0M4dxbJtgi9BPLMpVBMX1nUte5ha9U= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 h1:quOJOqlbSfeJTboXLjYXM1M9T52LBXqLoTPlmsKLpBo= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44/go.mod h1:LNy+P1+1LiRcCsVYr/4zG5n8zWFL0xsvZkOybjbftm8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 h1:8JG9ny0BqBDzmtIzbpaN+eke152ZNsYKApFJ/q29Hxo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5/go.mod h1:kEDHQApP/ukMO9natNftgUN3NaTsMxK6jb2jjpSMX7Y= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 h1:3fWAJsw4dLG4eYKHL9lygUWbE0lD+/gkqQC1zmmdAig= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1/go.mod h1:thg9BfQH96QsZg9BMe30WS2av72ZAo7/lTfvUJqjK4s= -github.com/aws/aws-sdk-go-v2/service/account v1.11.6 h1:rLJgSm0IiJfY0X/J0GdwcOneke/OzbDWBNzdXdfOhkE= -github.com/aws/aws-sdk-go-v2/service/account v1.11.6/go.mod h1:AXOYHxUCLGx7OPK/cnYRK1tBXNENTyQ25YxS4Fm60Mg= -github.com/aws/aws-sdk-go-v2/service/acm v1.19.1 h1:xcrvCNWIb4uzlVVFjjDVvNeRvKPMcT0vPb3ezwNzH7w= -github.com/aws/aws-sdk-go-v2/service/acm v1.19.1/go.mod h1:KptofjTaHq44E4heGaSacYmmi2Hya/arRcyzw5Oy6ZI= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1 h1:ioS2SwCT3cNA6y0KKEozBJ+IoinrBiWuNbU6oGHpk6o= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.21.1/go.mod h1:3hIsAH76MSJuhdbCI/axMDGDlXruT0r6Swo3/vtUAoo= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6 h1:wodMSnced6g4nzZzioDnA8htdEq/dReyyZBTQFGWx2I= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.6/go.mod h1:xbR4FPxBw7W+POjVCu2hIO4t2Hv7/B3R6YXyGLKAXqw= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1 h1:raBk0al+3nOOn/cF70/qebleYfWuWw2WDy37CLd2mYA= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.1/go.mod h1:tEPIXZTTCrnZDQQ0EaMVYSovQgVhyCGP03yilX6zjNI= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6 h1:atzpgSRdPS07BD0dUbScjXw5AsM8ncb1hwHrao38NTY= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.6/go.mod h1:RMuRe6BfB79pUHdMg19y4v9K+AG01KWVvNZuriuOTyw= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1 h1:NL2HEgcchk/QTa9/8GgrZvmfvCwqCDknvzAOMuvANnU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.1/go.mod h1:ZD/6Xew+gqhnRBg9iRXNYZOhp4BXKfqe7JRrtOnIh8s= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6 h1:FT5dlg2yptwtvZvvgRymO/hO4zpkCZzuGJqkhASQNDk= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.6/go.mod h1:S+nhWbA1j7u+BUJUOzDB0gvzRtCePnnRmeLo+Jq4H58= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7 h1:IErCL7+1POimitUbC+Pi1cSHN6woitjJUJJG/u96WVg= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.7/go.mod h1:t2eYkluO3K1dKdlfJElyq0ndHCJGozstu7XCB67+qrw= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1 h1:1zhuU/Adbs12tX2BOEnthjxh7yLAJvpUKx+4HMQosuI= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.16.1/go.mod h1:iIpU0KfZVYtYG3toK8hXIo8dBGXKpL8O55OUpa/qRR4= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6 h1:GuOorggN3yzbxYzUN+Zw1zaWZqbPQ/cQeEqdVFmkp/s= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.6/go.mod h1:DEwx85ig5tB4SRd6ctG7XbM9m+DYQOjezaxYOmmWmO8= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1 h1:nf1PaOiAkEEA4tqv+JSOEKO3fzAUoNGDV7HngPU8EQE= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.1/go.mod h1:KpDYz9nyWhAP6y4c7xO2chvdF2Ax3wUHIK58VW4K9vc= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6 h1:LkWkBy2/jTexo+s9E+sc2YwaakyCy5iBhrihHk9OyZk= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.6/go.mod h1:dz9teMP8i6dur+rcfmM4XnUCjz/HIKtDPomWugbLJvY= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1 h1:0T2cQq8v/CkGJMHdtBe18qAWRDNZD9jB0pr8Ly+UQGE= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.1/go.mod h1:9Q9f9ST4lEaDFJfPIeGRj2rzgR3Phq+OcA+Xun9u4kI= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6/go.mod h1:Q0Hq2X/NuL7z8b1Dww8rmOFl+jzusKEcyvkKspwdpyc= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2 h1:5R7Sl/DwDC4nPrlGErsMf5XFCcnJ/l8UY6xLHb3siVI= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.2/go.mod h1:VJG7AGbDMjEYpFSgwbBcAUT5W64siPAgnrNZViNKz8k= +github.com/aws/aws-sdk-go-v2/service/account v1.11.7 h1:77Y0z87uZbG7R3djQJhxLetw6dES7F2W3vmcXIMa0mc= +github.com/aws/aws-sdk-go-v2/service/account v1.11.7/go.mod h1:hIGpFtNvJLOEDfp9hqnRVYfah6i9JDKqpyh/EGxDw1U= +github.com/aws/aws-sdk-go-v2/service/acm v1.19.2 h1:M+BY1Sk+AcWg596Nz3MMX630a3vposBFDaTan+UD/Kk= +github.com/aws/aws-sdk-go-v2/service/acm v1.19.2/go.mod h1:Zx0vrYeKZEZIPnggUx09FdoXze1+2i6Od+lHsG/L3vU= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0 h1:lN+EsDRxYDYeRHYXZ+3uTSYeEhmXYULg5qBABSqVIrk= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.23.0/go.mod h1:7bTOwXFz4+VxkDVB26d7TAhFKloGA3EtwtLAydyv1ek= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0 h1:pz81qsD+FxrrHOaNrfGSWbQ4cU6Dxj2I5tvlrLmgCUE= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.27.0/go.mod h1:zEDWBhc3yodpWk3ZLDNPlTOZGNx0bGx90XQma07xR1Q= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2 h1:qt0XqbZAU+ZnaqQqvuafocTm/KPKIxf0GPRObbMvhGc= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.2/go.mod h1:bbDwGddkt+EcDTY6PuJVKyXesjbQ61r7erTlBm+tIy4= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7 h1:XbzkTIZi+VwbpQHnWdSCPlnhKQo8upmObVHLBcJVx5s= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.7/go.mod h1:UES6/e6TFF6cpex9s9ks+Zuup3Vf9HcL8kpcDXEV0QI= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2 h1:g2t+hNCOYWICWs0cQLXk86DnXQMXgx1omrAGEpF/d68= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.24.2/go.mod h1:5ngOUsc/7/voqXQ5Mn5T5l9/rWopTMgu7hk+4Fl2AS4= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7 h1:d2tImK3KffYtFb0xVY4CQM0dqgGxxqB8HhlImdTVp7g= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.7/go.mod h1:mbPhpQ0SRnwxVDYqHOLny+X3QozY1DBPbhBvtYtTlCw= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8 h1:ZNCHBGGFpOH1G0tJhpLjsWITXOuDZEOAwq5HN351aDc= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.8/go.mod h1:RhrN9J+LVtEMjEQPZQyhnO4A0LiOKT732AHDy7sYsIc= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0 h1:STOjCDhbX5IPRG3lUVpc9mQv0o7ECZFDEMHUzCVwOjg= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.17.0/go.mod h1:B10oKKFd10DeYPN8qYeXFtNCEGjSnZ60EG3FeGli8FA= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7 h1:x03mvMDVDdvH/Xk+U7kLaQJ3eA7kSYr0t5lbZgi0bnk= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.7/go.mod h1:zvkBeCgksf5F/XOlNY6g34QOlo1dOUne9okw6gznZAI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2 h1:X9F5HmF5GELOsSwdu0cJFviemuVHqteYIIfpZZ7yvEI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.2/go.mod h1:if6fmhug8f0CUqd7xHbxY8VsgLPRRXAs26/sbVJT9wc= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0 h1:erGB6hvk3Gala8lkpaGg5I6exnShvTLl7/Gmlt/NoaM= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.19.0/go.mod h1:2m0QmkUL+PSwJ74GY+5xR3rgDUmjg9W629PMxsLvG68= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2 h1:PhSKGmHpNQ4zRWPd36fquIbrxRlp0ia8S7O3gR4ah74= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.3.2/go.mod h1:JE7FKd3vLDLXxZK48NYQQNnMkqalW0TYYDYMtXO7AK4= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1 h1:TYq4EU2vEEluoaBG0RCPnbibSndTQSzlpbZdmT/YRcs= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.22.1/go.mod h1:1EJb9/tJwI7iqiStZBcmHijQxcgp7dlPuD2YgoZIrJQ= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0 h1:3VsdIKjFmyXFkKV21tgn49/dxSziWhjnx3YbqrDofXc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.124.0/go.mod h1:f2AJtWtbonV7cSBVdxfs6e68cponNukbBDvzc4WIASo= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1 h1:F6e5phPOifW0qc+w4J6PnaIlxyEzOip+NyeVG/iRij8= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.1/go.mod h1:exMBYUp/JqcvnvfVn0bbImCqoTydKkDy/fPtUtO7sNs= -github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1 h1:CIA2kTKWTYppKLJhmVnx3v30YVe/jBYCPykKS1LPRJo= -github.com/aws/aws-sdk-go-v2/service/finspace v1.12.1/go.mod h1:ErVuad9auI7UEavsc0D+PVLxWTuOSAcj4TytdfviG/w= -github.com/aws/aws-sdk-go-v2/service/fis v1.16.1 h1:BH0erAhqfybRTXGP7McZ+nKfA8l/jtH4Kf4gGDQpN0I= -github.com/aws/aws-sdk-go-v2/service/fis v1.16.1/go.mod h1:LZ0kH2huy9e8YU/PZY63VcvyPyPX/AMiBxSXp2PkDe4= -github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1 h1:nLEuWOegNCDMzwNTHjZObRtBZpD6m0l+0LCULvr4AyM= -github.com/aws/aws-sdk-go-v2/service/glacier v1.16.1/go.mod h1:pZ02Flgy0T5GaNL5b1Qq9PYcaVAX6RY13+V7HF3iuHk= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6 h1:Y3M3R/oZeHUhzcIdv69ZH+cOrzLKJhVV/P2UfJ5n2ZI= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.6/go.mod h1:z8dLyRwaqMxZRVh3kXtcE5XhJ6EODOge768oN/JVAJg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0 h1:4xtATQuR0qIvX+QTWHlgTUnwlDPNzHcvMsB+qkRSPRo= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.127.0/go.mod h1:raUdIDoNuDPn9dMG3cCmIm8RoWOmZUqQPzuw8xpmB8Y= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2 h1:diyMrawOZ56CavFS//UFFjk2LY1ooXeTqAecXsjtXwI= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.11.2/go.mod h1:ZrmnnT6zI3+0XsQIGCu/vXhIFk4Vwu4WKqeMDSzm4z4= +github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0 h1:gsitjGgLSd0hdfReRk+Lc6Rrcg7UMUIqe3eO1m61H5o= +github.com/aws/aws-sdk-go-v2/service/finspace v1.13.0/go.mod h1:TKYYw/RwUTrm8/6qRvxtNZpAfzPJ0zrUJAWOrrreCpQ= +github.com/aws/aws-sdk-go-v2/service/fis v1.17.0 h1:zAsleap91sZkiLMQm0oB1ypNdGdSpAtCgRrBY35Fiwg= +github.com/aws/aws-sdk-go-v2/service/fis v1.17.0/go.mod h1:zLKsp8cB3L0gqEW4d8NG1cZwQeczg4HqqLm5/b9d8rs= +github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2 h1:3e1Y17V637Qx/9rZJZFpC1FR/lL3Js9IFwZCWCkxiIo= +github.com/aws/aws-sdk-go-v2/service/glacier v1.16.2/go.mod h1:W5b9hqb4sCTIBOacfItRmL72QzvB2Qasq5tmJfn9BlQ= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7 h1:785/FmKD/qDYKW2adVxc4y3PIybe+U/qRI3zHe3quLw= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.7/go.mod h1:HJh0/bNoBvtnowJ2m8TimynLgAfhuxSVw+tz7eorxQw= github.com/aws/aws-sdk-go-v2/service/iam v1.22.6 h1:AL1fgN3/LHI7WJMKx63Osvsmk3f+EyHIJme0DQFasog= github.com/aws/aws-sdk-go-v2/service/iam v1.22.6/go.mod h1:GM5AHRAQGBgA3U6n7HwpWZGCPyxKLCgM7JSSAuoUWU8= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3 h1:69H4rSAWb2ri/sMPfXK8Kkbqz/oO6DdM8vRiHziRXDc= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.3/go.mod h1:JpmHPTBvVoZnVLzmhMpQZEzqnrZ5BvN5cgSeyWKDxQA= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8 h1:Em1eX4kFWSNvdwVBoDGFwMR2+S9AJhdPi9veiunw2Co= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.8/go.mod h1:Y8wiIOrs8SCUVP0fqexWCu06br9jiaqugazQN/oAsYQ= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4 h1:ubNPVqOVw+TJ6jLfXxbchjRmWiQ5WLXi/c35/1XHqeQ= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.4/go.mod h1:iCXR+ssQIxKT/EqO2G2UD2ZY9XiZxC3LO3o5W6VeKQA= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0 h1:QyhIBKR2ybHeRXAiKlvRo4uLZoT0pcGS7Cc6KmLpW68= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.17.0/go.mod h1:wpOdgJi4x/PBXWpoSM4QRcqJomrSRf8Ynke8g5D3Tco= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 h1:7R8uRYyXzdD71KWVCL78lJZltah6VVznXBazvKjfH58= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15/go.mod h1:26SQUPcTNgV1Tapwdt4a1rOsYRsnBsJHLMPoxK2b0d8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 h1:Mx1zJlYbiUQANWT40koevLvxawGFolmkaP4m+LuyG7M= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37/go.mod h1:PjKIAMFthKPgG/B8bbRpo3F8jfr2q2L+w3u78jJ12a0= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36 h1:0ZzowXTZABVqnJnwDMlTDP3eeEkuP1r6RYnhSBmgK2o= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 h1:skaFGzv+3kA+v2BPKhuekeb1Hbb105+44r8ASC+q5SE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38/go.mod h1:epIZoRSSbRIwLPJU5F+OldHhwZPBdpDeQkRdCeY3+00= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.36/go.mod h1:zAE5h/4VanzBpqyWoCZX/nJImdsqjjsGt2r3MtbKSFA= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37 h1:4LoizcvPT9A0tiAFhepxn0bGZXkzvN0pG0epydY3Pno= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.37/go.mod h1:7xBUZyP6LeLc+5Ym9PG7atqw4sR28sBtYcHETik+bPE= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 h1:YXlm7LxwNlauqb2OrinWlcvtsflTzP8GaMvYfQBhoT4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36/go.mod h1:ou9ffqJ9hKOVZmjlC6kQ6oROAyG1M4yBKzR+9BKbDwk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 h1:sAAz28SeA7YZl8Yaphjs9tlLsflhdniQPjf3X2cqr4s= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5/go.mod h1:HC7gNz3VH0p+RvLKK+HqNQv/gHy+1Os3ko/F41s3+aw= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1 h1:4lgcY0bJwDlR+/EORGqFN0fQgxZRt7zfS4lFp2WqiNA= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.1/go.mod h1:boJ8FNGtNY1pV+ktzjkk76MNR6JIhy9pNHOuiciqHVk= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1 h1:AENFPXfGAMysoJ2y0D4NzxWcaWBChfQLI1KiVe9gyXw= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.1/go.mod h1:vpYM6NUGUdeNYoBfsN1qjVWQIB/k6nE8AqnPl+mxolw= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7 h1:NGrznOGbuAvTpHsrbH9OijoBEiDyr+KmQ1loLLMfCm0= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.7/go.mod h1:Uk2AOsWjBQyFTb8gPh+MoCM55OKOq3fwt+OiO/0Jj54= -github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1 h1:W/0LQFNfBq+WlEEYTYLjGYBoTC6BXkzlIN+eCKNfBTA= -github.com/aws/aws-sdk-go-v2/service/kendra v1.43.1/go.mod h1:Pf36PEiaoeLF4xSlfqWR8ZTS5kpuKvyn/IAZLZO8DPk= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6 h1:Px2IPr9lLGLaxcWYtTKQS6Uq7a7+mXO1gNdwdzRQkcM= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.6/go.mod h1:180DaekP6ebtSjEgH9CwLChl9dTf3ppnZB0hbjGH/XY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2 h1:JD5IUr3CejC0kGxvnU8dxkl2k383n94QdUcxb2Vt+Nw= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.6.2/go.mod h1:Dj1bgHF1Ikb61w1D9bXLypZfPD9vwojs7DUe+wurCL0= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2 h1:fs5s2FluB+7MxT9ciRYrYQjfPxfFAakFfHS+KpscQx4= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.6.2/go.mod h1:ZMkzeFf1mD4t/D0astNbbdGBXrY6Xn0CqcQfq7znfao= +github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0 h1:25GTIbwI/L/zdNHTxzJDg4JiiLOnZBL2WZSj8UyK16M= +github.com/aws/aws-sdk-go-v2/service/kafka v1.24.0/go.mod h1:n5GUmBbNhSLO2NMpODVwrfqqZWaP2cro4QXxamzU1RE= +github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0 h1:lr+JNpmf4zPFobZC192iiy+8KIesdEQXjmTGy4hJrEo= +github.com/aws/aws-sdk-go-v2/service/kendra v1.44.0/go.mod h1:/OvU9HvHY03NYNI01IXJO8LLK/7AQOsK87byCDE+pQc= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7 h1:2CSLIVJSGMa5S6Og4M/Nx9AZLOs0xJVX/qmcj4YRL4E= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.7/go.mod h1:s42chwUVdTwyeMFLFJ3RZVx/cQ8X2791JqHeKs39OcE= github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= -github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6 h1:7FEmwTkDkDE/kwG2zMLAsbtT9dqoSLMagQbHlj1jn9Y= -github.com/aws/aws-sdk-go-v2/service/lambda v1.39.6/go.mod h1:knjlM/w5B2waA8ajK5Wjgr4CDDung+XPhq4mX0Lnuog= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6 h1:z+jd+zmp4yOy4NXnf1BafF4z3+nh4/hJDfUMvAYkODI= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.6/go.mod h1:x77ANQLWCCovl9Bh5ErxN40j3CSsOiHWCnuCBRstAk4= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6 h1:DeOKrIWI8M9noiLqs6iN82go1wQvAEreqBhlfeTy8e4= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.6/go.mod h1:WJyI7A91cJsTNCgMWabnbAffHi1lv98JB6YM3kNqNJQ= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6 h1:egi5EkmnxHBgS17lHO/vnp25fNWJr2czdKRWoCpyqGE= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.20.6/go.mod h1:CEwzxzOcMNP3yBh3AmPq8GuDTVucXBiSlhUNYNUvL2I= -github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1 h1:V35Jr6Aker94WCzlchrHV62oRHrmHyulUlulutQKjoQ= -github.com/aws/aws-sdk-go-v2/service/medialive v1.37.1/go.mod h1:R1OMa2V11Ji2bTZz4Bw4YPKKR3iAmsIdRS9GEalq3Uk= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4 h1:C8zcX+aPVNrri+MRBGkjjnRteisedgN1oYUJ9XFCcsY= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.4/go.mod h1:CrIAMXAFICTbRZIymSYgMvCPiEx99WgckvKuJcYjMaA= -github.com/aws/aws-sdk-go-v2/service/oam v1.4.1 h1:BhLpb87aByUWX1x5ERmkXMa6p/bqE05ZwLkg6YxB6RY= -github.com/aws/aws-sdk-go-v2/service/oam v1.4.1/go.mod h1:F7D1NA9s0hR9NP2vZuh8RIUeRQlLtt7qbJsDY6DDkD0= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1 h1:+cbGcCXbXpHgGlvdyYDUhyQrXiRXV1Uxny4lE5fxPEI= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.5.1/go.mod h1:Fq5Mxljf6cxQvepxkRXjhvJkEFS1o294bkI808Kk+pM= -github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2 h1:H2QURTJp7FrE87DnBalEEjJR4ed01LVIrg6E5zlNQUk= -github.com/aws/aws-sdk-go-v2/service/pipes v1.4.2/go.mod h1:YISOhMmTXx73RosmN0IrtpUGyz+juRa8wiFlxBavufc= -github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8 h1:PMCSEyjOW81psvvcD9wRtScE/hzJNxBITJ32o42CUQg= -github.com/aws/aws-sdk-go-v2/service/pricing v1.21.8/go.mod h1:Wz6ZULBcnjnHO59Br87w8I+W9HQSiu3VJ9tuI7DrzB8= -github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6 h1:FkGz9hoAU2J+EOgo6HZSSkorngoBA4cnVUaKivlgFXE= -github.com/aws/aws-sdk-go-v2/service/qldb v1.16.6/go.mod h1:fgUIUS1lzEA2aXf3Av9Pr8LEZJ1mSQBDNA2EBXS4Wz4= -github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1 h1:auLeIKOX51YwB6sqYZYde1hgLqAecOQaQryRZSJ4fvY= -github.com/aws/aws-sdk-go-v2/service/rbin v1.10.1/go.mod h1:i07AjvSm32uDSVmW5qQ3e82XnRivq4RlFgBd4Lbox3Y= -github.com/aws/aws-sdk-go-v2/service/rds v1.55.2 h1:dje4c9cNZY5bokl0YfT/xdXRg0mja1pUWijXLhab9y8= -github.com/aws/aws-sdk-go-v2/service/rds v1.55.2/go.mod h1:SKANU6tKVhn1wHbTSF0Bo6LFrAENtPfXG1DHyahqFyE= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6 h1:UpIGzyKcKqNsAAE+H57o4FxYn1lwkTkQCa7mc5euTFE= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.6/go.mod h1:GM3w954QkzEAlPd0A1FS5514eNOzHx5z6uwJV+ncCow= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2 h1:2mfEZP1NEn+NryKAYp9lt3LGnR2KCZ9gdes4mwBVQ2E= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.2/go.mod h1:02/O8Hp60veJmFEIePpMPwar604TqH2tv4JXtWodJPM= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1 h1:GS3AG4/DGb52hwMHUEIm19TgyksybwTEQmrXB24+UMg= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.1/go.mod h1:B0xu5maKhY51P9GuWdVwaH0vkSOBzAhDR8hGaHxeb3Y= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1 h1:2xe2OR4ylFj5wwp5Ia/cVPKBu9VTVBlylukve+V67mA= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.1/go.mod h1:oqX2Eg7cS4unN1aAHtK+nd//exXbB2dUzdgu7kZ5ePI= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7 h1:dRO8PxJbiaJeH9ahqrFUlZyJlVuk7ekxKjet53EUNYs= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.7/go.mod h1:tcAxdUvNUGuQt/yCJsGc9wYdlOrFOOLp6TbepZp8k84= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4 h1:1uA3FBoMAcAPqb/TqI4dm9QgxmOJGXc8jnf3eaSgu9I= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.4/go.mod h1:hxqmMdnrGjnzRY2has/lmletY1Exs/iKmzOLjvpMy/c= +github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0 h1:AQK0v7JA0stOOi1cNOq4n9N3X1a3N3A2Ezt3UEyHL9o= +github.com/aws/aws-sdk-go-v2/service/lambda v1.41.0/go.mod h1:kFs07FNyTowZkz+dGBR33xJbzGs2mkC5Kfm6/lyR5CA= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0 h1:z5zCrHSiY/oFWR2tKYzHlKUEmSoiZ6nEc+v2hcRtdA0= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.33.0/go.mod h1:dbmSa5HVnGr1MZwEi4okJLfx4Z7J8ur/cSwiBIgTkZg= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0 h1:Io+ezo97hWDmcg3tSMJbMoL1zd5zJ8BxK8Y8yB2Chfs= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.29.0/go.mod h1:u2yl3D9ygNXthorLQOj2wmMPSxWBGZ+XTlkVbsK2Bh8= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0 h1:0nqFG7I3G+4JodX+pxIi++qi96EGSXAZxwPQYFDZI9c= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.21.0/go.mod h1:xpU8ugTBGYX8Q2Oo0JeRsXUz22emMuKiNJs8N3GkByQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0 h1:0/fzOrxQrnMYs/apbFW0Pg155NWquYVQnNW2EC90lbg= +github.com/aws/aws-sdk-go-v2/service/medialive v1.38.0/go.mod h1:lINBgPiWIs+HmltgiBaphp9vb6ARUbxqkf2iV5RG71s= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0 h1:C90hhUxpV3sTNEW4nHpbVLTrrkCaGy68LRM23F/XTX8= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.24.0/go.mod h1:DX1RiU0NNEEKHsi6Qx17XICo4R63yV6ED8HRQXqZzRM= +github.com/aws/aws-sdk-go-v2/service/oam v1.4.2 h1:7yyahY9W1PT1f/YzJANF0Rcjt1iYv/Gfo1VVb5xMNlE= +github.com/aws/aws-sdk-go-v2/service/oam v1.4.2/go.mod h1:Xy10stQLwlkUqnDebKBrHJkiPgj4ifwo35kYwrSfhvI= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0 h1:i3dePKIcfgtcHWWWtt6861lsIPcVt8grtYMnD/d7pt0= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.6.0/go.mod h1:FYUH57MkKKdCtmW/e7AVL4IDHdMA/u3N6yCkvcXlehM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3 h1:OgaiJYVLvgbPP46LUzZW1u0huJaSN8dc7XlEwPfTDg0= +github.com/aws/aws-sdk-go-v2/service/pipes v1.4.3/go.mod h1:Q2dPlvCZoor/OzUVvQ3wLBOiSYGbEmXqSYYi6YaV5O0= +github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9 h1:SlhalyLhNxYXFXORYs/mfuSlmDzSgt2e950VhYzieB4= +github.com/aws/aws-sdk-go-v2/service/pricing v1.21.9/go.mod h1:zynD2dnMorTN6tvTehY2L5mhOlxQkdI11djI1ljWQO4= +github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7 h1:lLP/LlzaI67MXKfyTVLox6HBKgB4XN8Ml6C9jYbhLWQ= +github.com/aws/aws-sdk-go-v2/service/qldb v1.16.7/go.mod h1:po39i8aELtAKkN5FtMRzOhuOjEi6v/pwAS6FqRT4ags= +github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2 h1:69qtIi4V7ehV07agrcPnZY6Pq6ZkW+LAInuvyql2rIw= +github.com/aws/aws-sdk-go-v2/service/rbin v1.10.2/go.mod h1:brD/m0i8L/zx56h8JRC1K+37C6fbom3boeSNPgY6t8M= +github.com/aws/aws-sdk-go-v2/service/rds v1.58.0 h1:ErFOugr4ORe+d6OGNk3Csr5ItF9DRcHJMFZnuh4isUM= +github.com/aws/aws-sdk-go-v2/service/rds v1.58.0/go.mod h1:NNx09yR8B7z4I5xTt2rUq+5h2lmA9T9bbm7NME/74Ac= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7 h1:jmA2Y9wChfXRi20BZhswSl8BMOBzIP4nj6umS7Dz1UU= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.7/go.mod h1:CKZw7PAz+RoNy/k2ZOb+td+3gC6+WCQw6Xn1yROp1Mo= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3 h1:HSCkOqof4ks93+7tTl/dRysP4uFhNv7SOgLwN9J32MU= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.4.3/go.mod h1:GsN589Hv8aU2bq3U4MCa4/O1McJC0SbBE+kLxAZ1xhI= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2 h1:ctIc24j6wZDc5VjKB/9CCuYXSSrU720/NtUNSYaWLvw= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.16.2/go.mod h1:eKOu4v1YLHBywiUKFsAnz0xN5xH5DlCmEy6D/0c9fOg= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2 h1:03EH0RIXqyhwLZFjyJBG4hMTBw4rHMUtIESEwizxkg8= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.16.2/go.mod h1:qqGaDe21Tbh/b9vRv61ykdn/JM/xQr78SL4nYfRzh4E= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8 h1:8UL7FZR1oUhQaSostFjWm4j4Wj3n46cER03dV5eGFWM= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.8/go.mod h1:kBa2hmvLufUsdBMtAKmN9X464w1X+wlhJazsvFO+2wQ= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5 h1:18p6+HD6xj5oOtDNi1XvW0PkZw/xticjOvSbIWFyw6I= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.5/go.mod h1:BhMj1pZPuQfzuS96s4ScniYr9qhPwDMA19N4eWPM1Lg= 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.40.1 h1:FqIaVPbs2W8U3fszl2PCL1IDKeRdM7TssjWamL6b2mg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1/go.mod h1:X0e0NCAx4GjOrKro7s9QYy+YEIFhgCkt6gYKVKhZB5Y= -github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1 h1:et+tylt0R4X5jGq++egvYrv2u7JCuB0ZhSlzHYdOwtw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.33.1/go.mod h1:/qC7aNeoLJcZu2a90OnclO8VMz9QClZTDpG4AFLDSMA= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1 h1:Z1XsWjViyQrF7+VK4JECRdn/R6i1v6EsrBMEmzB0rf4= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.1/go.mod h1:bcdKaS8+sUoa39w9x93KjohdT/TGdvJb/N+FFbYIcuI= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 h1:Ll5/YVCOzRB+gxPqs2uD0R7/MyATC0w85626glSKmp4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2/go.mod h1:Zjfqt7KhQK+PO1bbOsFNzKgaq7TcxzmEoDWN8lM0qzQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0 h1:C04Uf6qSXocZG79rsY3E4H95iMcEhldIqZEXnHpMmmQ= +github.com/aws/aws-sdk-go-v2/service/s3control v1.34.0/go.mod h1:RCYpYoSEUpDfeQeZYHMFgY15cUNc/IbG06sF7IDSSO0= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2 h1:VYWFZZ2jYWRu0bZ5+nSJiToRrUd1MyQt5ox3MlA+VsU= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.3.2/go.mod h1:vPsUqtS4023/mjhV5zyXUaGmCgBMomsPTPvJFhaPhZY= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1 h1:z/tG3vLlp7n1Ce2ZlJOiN3kd22JHqdkY4FYDrlfeA0k= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.1/go.mod h1:GQnvIQbeFVfBbjrJ+K6r330ev3/XVD7Hy15byeiOkWo= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1 h1:Wzs47z3I1AOiUFZ2VvGw0tm1hChyO8BvYizXD4Tlcjs= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.1/go.mod h1:xi6ausBg+Nd+0RNiVIcMCD4xoVV+VXyv/bZKEmMYDuE= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2 h1:3qYTIrsGBaxD8F6N+B0rx8OJSoS15GfT12UuhCTAumI= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.20.2/go.mod h1:NrZAizsqYf7fIXZP6sAcjV+jbW8yYwNDtHAxRC+mEMQ= -github.com/aws/aws-sdk-go-v2/service/signer v1.16.6 h1:df3gIYF9ViDrg5aUXDcey8x+r20GnVZUcp+MCmxIREA= -github.com/aws/aws-sdk-go-v2/service/signer v1.16.6/go.mod h1:qJTvAvexUNd2qquSHqdsH8nvcF7LdbQsdri0BuIiwxM= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2 h1:UWaB/MOz3+efoi5lbiqMGKlAQ13zM/N1RsU8oDoDp0k= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.2/go.mod h1:bT7d8k/k7DbfzbDdOv4IiiBpvPiet4aDpocpxeB0AtQ= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2 h1:7dfERjekFyE/OAd4ZyA+EpW/8CW/aL2ou3yOgNyigqk= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.16.2/go.mod h1:N5a9dNF+SH34X/nWhpUePVebcnNRa0A2W4IByMpB3gg= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0 h1:4iHtFr1ZsqFJK03vJqaZFUcg2fJeiCTdnwuBH6U64os= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.21.0/go.mod h1:xrSmtekhLtdb13dQGTnGkCtuvk4tkS12m8UVtZn2NZE= +github.com/aws/aws-sdk-go-v2/service/signer v1.16.7 h1:dqT9OiL6KP8byHMxz3+VfVBrhYqe37lfD4hG6E2MtVU= +github.com/aws/aws-sdk-go-v2/service/signer v1.16.7/go.mod h1:vUcaaoXjmmxEXOyhhq4NyLB87H1hDjYoq9rhAEv7Ez4= github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6 h1:gOp27f7sRnebYZmBTEU9SshxNmUSZpLxwhEbR4B7IG0= github.com/aws/aws-sdk-go-v2/service/sqs v1.24.6/go.mod h1:hG0BRoUOVHMQDcMWnZx4rC0NBbxxvYa4zMPdh7kxI/w= 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.38.1 h1:jkHph1+6MkoWuccP79ITWu8BsiH2RIFiviLoJOrS3+I= -github.com/aws/aws-sdk-go-v2/service/ssm v1.38.1/go.mod h1:8SQhWZMknHq72Fr4HifgriuZszL0EQRohngHgGgRfyY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1 h1:LkzaII/E99ZTc48TfZ178n6QgUUe2OpLPNx6vF2DnL4= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.1/go.mod h1:fXUA6xdu9Ar+ZUS/SUKNXmREnJGJd+ct78FFS/WidqM= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1 h1:6Oy7VwSfEPch7wxBRSdJk60e9uBz+uUIi0KvsilAYA8= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.1/go.mod h1:hFK9kL+6cX4M3KXoQXOCCnQP/iQ/ZjOUDiseQZWUD9c= +github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0 h1:DHZFzwbFXlfw15I0ERlTVB/YH9iHNr2C1axjRpB7/Gg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.40.0/go.mod h1:qpnJ98BgJ3YUEvHMgJ1OADwaOgqhgv0nxnqAjTKupeY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2 h1:2lPwcd4q0u9QYrt3DgitFx1OO0q/rrLMngTDUCJ59os= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.17.2/go.mod h1:AXw7Qt+vLe1WHqoyBmEnNBGXdKqP7h1aXM+y8Guipc4= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2 h1:UtLWhmsg8CQUcUH+XFDXu7btMcmkHvLujkr2YjPaJCY= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.23.2/go.mod h1:MEWDMHSX38CfNrfa8j64GxgenjpySPOGDxyNIFEqwr4= github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 h1:ZN3bxw9OYC5D6umLw6f57rNJfGfhg1DIAAcKpzyUTOE= -github.com/aws/aws-sdk-go-v2/service/sso v1.15.1/go.mod h1:PieckvBoT5HtyB9AsJRrYZFY2Z+EyfVM/9zG6gbV8DQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 h1:fSCCJuT5i6ht8TqGdZc5Q5K9pz/atrf7qH4iK5C9XzU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2/go.mod h1:5eNtr+vNc5vVd92q7SJ+U/HszsIdhZBEyi9dkMRKsp8= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 h1:ASNYk1ypWAxRhJjKS0jBnTUeDl7HROOpeSMu1xDA/I8= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.1/go.mod h1:2cnsAhVT3mqusovc2stUSUrSBGTcX9nh8Tu6xh//2eI= -github.com/aws/aws-sdk-go-v2/service/swf v1.17.4 h1:C9kYSI8M4s4nWGqyLLVjappbBuf9ckY49f9p/3t6nwY= -github.com/aws/aws-sdk-go-v2/service/swf v1.17.4/go.mod h1:gKxgDhvUcMktase1gvNt4EdWl9uzSnUsqgwwhfUGkPE= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1 h1:vR4rTWTQkzqDqnYbafOdKxSEpoTPtMpU4ga83nMgdAY= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.19.1/go.mod h1:085nMFR23/NB91pGEOxJeNJsgk2tIu/CbBxPQJXDBuw= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6 h1:b3v0V0bS8VX0YCg+NcVZYJtBwJJFELwtJtcvKeWwOCk= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.6/go.mod h1:jB3ccZlCktNZaK4Db1RUxgPsieWWqd4FxFidaJvrmRY= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2 h1:9xtkwhrvGMgIYuyO2tYrnRH979MgVQj17K1YFZSKgMA= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.2/go.mod h1:t3lH38by/71ZUuMH8Q29yxSr2sbiSvUyylQ/pvDnLD0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1 h1:maF3kTtf7OolW7IPTbpzJbCK31O3KIro9UpgEVZkBz0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.1/go.mod h1:LDJAbHPeQVxIV5PahqSQ+8SdLX8qAOp8h1aMSBZU8F4= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 h1:+gN/oR6jT53ggl+jd/7wO4A7u9r1GLCpMiRiatD79WQ= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1/go.mod h1:56TIMTOeThR8Ep+O82yxpTuGzCOzZuo3XmsJXxukgUo= -github.com/aws/aws-sdk-go-v2/service/xray v1.18.1 h1:uyEzztY4I3q5es2Lm6Qyo0PjhOFDgO1o0V25Zv/yKIU= -github.com/aws/aws-sdk-go-v2/service/xray v1.18.1/go.mod h1:8M2/Dnh7fUkO7K5V70JHuFH5mp70Y2q0cbfbppj0TzI= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= +github.com/aws/aws-sdk-go-v2/service/swf v1.17.5 h1:MR6A/XkUKAkaRuUiuLHcZPgjCB+o9iRxBBSym7pVDek= +github.com/aws/aws-sdk-go-v2/service/swf v1.17.5/go.mod h1:yQR+w4YfnXyKeDIIFX3tDZ1wndz+VESqcEJN5cFIjSI= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0 h1:Z1kRc8lKJdhLxtx4HT65O1GTtH+ohKmBWqObQOwJ3F0= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.20.0/go.mod h1:7bY9UbR+qbrj3nSV1IxGol1OLA1fM5dZQ4y97FF1zvA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0 h1:kTRJ0ZloHKzGchHa5REs7pGVeaxqR00r5R5TOKQE6rU= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.29.0/go.mod h1:JfI0OCCqM779RRoXNL8829r6i9ItxodDcm8VjA9uifY= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0 h1:nDGWTtrIRyvGtfmd4DBddauFZnoyhl9dalOfPa0OPCs= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.3.0/go.mod h1:mbAnBP22I0U/b2iK7aQKvv7FlWgF+YScoLoOw7njjt0= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2 h1:EBqXw8PnMWXoWgSuoM1KgzCHZw7RCmOFJOrFZNv8wdM= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.2/go.mod h1:RQBqiF63AQ7bu3qVkreCMIQtnodEafCbCsMM3GK6FSQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3 h1:2eetvB/mGjlHV4jmz5bCtOK8/TaVbNgqJF0mmDZS5Ko= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.3/go.mod h1:/RuGfv7gjDalR0ep9ZwiPTkLVrlGX65VDubzeTssrE4= +github.com/aws/aws-sdk-go-v2/service/xray v1.20.0 h1:PRn/UykuiRp7FptdntY89wLbcBHwNToarq2NoPd/qXs= +github.com/aws/aws-sdk-go-v2/service/xray v1.20.0/go.mod h1:FVEAranUTitntkgI5wg0kQofo6y2O5clJixXTJA2zqU= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8= github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1356,8 +1361,12 @@ github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb h1:HM67IMNxlkqGxAM5ymxMg2ANCcbL4oEr5cy+tGZ6fNo= +github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/gertd/go-pluralize v0.2.1 h1:M3uASbVjMnTsPb0PNqg+E/24Vwigyo/tvyMTtAlLgiA= +github.com/gertd/go-pluralize v0.2.1/go.mod h1:rbYaKDbsXxmRfr8uygAEKhOWsjyrrqrkHVpZvoOp8zk= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -1718,8 +1727,9 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637 h1:Ud/6/AdmJ1R7ibdS0Wo5MWPj0T1R0fkpaD087bBaW8I= +github.com/hashicorp/go-cty v1.4.1-0.20200723130312-85980079f637/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= @@ -1746,8 +1756,9 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= +github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= @@ -1819,8 +1830,6 @@ github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEz github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= -github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= -github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= github.com/hashicorp/terraform-plugin-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= @@ -1870,8 +1879,9 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= +github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -2949,8 +2959,8 @@ golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -3371,8 +3381,9 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3525,16 +3536,16 @@ google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOl google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb h1:XFBgcDwm7irdHTbz4Zk2h7Mh+eis4nfJEFQFYzJzuIA= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 h1:N3bU/SQDCDyD6R528GJ/PwW9KjYcJA3dgyH+MovAkIM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3586,8 +3597,9 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateArgs.cs b/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateArgs.cs new file mode 100644 index 00000000000..caf700f30cf --- /dev/null +++ b/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateArgs.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.Alb.Inputs +{ + + public sealed class TargetGroupTargetHealthStateArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + [Input("enableUnhealthyConnectionTermination", required: true)] + public Input EnableUnhealthyConnectionTermination { get; set; } = null!; + + public TargetGroupTargetHealthStateArgs() + { + } + public static new TargetGroupTargetHealthStateArgs Empty => new TargetGroupTargetHealthStateArgs(); + } +} diff --git a/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateGetArgs.cs b/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateGetArgs.cs new file mode 100644 index 00000000000..00f8a13bdfb --- /dev/null +++ b/sdk/dotnet/Alb/Inputs/TargetGroupTargetHealthStateGetArgs.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.Alb.Inputs +{ + + public sealed class TargetGroupTargetHealthStateGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + [Input("enableUnhealthyConnectionTermination", required: true)] + public Input EnableUnhealthyConnectionTermination { get; set; } = null!; + + public TargetGroupTargetHealthStateGetArgs() + { + } + public static new TargetGroupTargetHealthStateGetArgs Empty => new TargetGroupTargetHealthStateGetArgs(); + } +} diff --git a/sdk/dotnet/Alb/LoadBalancer.cs b/sdk/dotnet/Alb/LoadBalancer.cs index 2a701e1ddd8..2892d823985 100644 --- a/sdk/dotnet/Alb/LoadBalancer.cs +++ b/sdk/dotnet/Alb/LoadBalancer.cs @@ -187,6 +187,12 @@ public partial class LoadBalancer : global::Pulumi.CustomResource [Output("dnsName")] public Output DnsName { get; private set; } = null!; + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Output("dnsRecordClientRoutingPolicy")] + public Output DnsRecordClientRoutingPolicy { get; private set; } = null!; + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// @@ -265,7 +271,7 @@ public partial class LoadBalancer : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. @@ -392,6 +398,12 @@ public sealed class LoadBalancerArgs : global::Pulumi.ResourceArgs [Input("desyncMitigationMode")] public Input? DesyncMitigationMode { get; set; } + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Input("dnsRecordClientRoutingPolicy")] + public Input? DnsRecordClientRoutingPolicy { get; set; } + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// @@ -578,6 +590,12 @@ public sealed class LoadBalancerState : global::Pulumi.ResourceArgs [Input("dnsName")] public Input? DnsName { get; set; } + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Input("dnsRecordClientRoutingPolicy")] + public Input? DnsRecordClientRoutingPolicy { get; set; } + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// diff --git a/sdk/dotnet/Alb/Outputs/TargetGroupTargetHealthState.cs b/sdk/dotnet/Alb/Outputs/TargetGroupTargetHealthState.cs new file mode 100644 index 00000000000..13d548ab788 --- /dev/null +++ b/sdk/dotnet/Alb/Outputs/TargetGroupTargetHealthState.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.Alb.Outputs +{ + + [OutputType] + public sealed class TargetGroupTargetHealthState + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + public readonly bool EnableUnhealthyConnectionTermination; + + [OutputConstructor] + private TargetGroupTargetHealthState(bool enableUnhealthyConnectionTermination) + { + EnableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + } + } +} diff --git a/sdk/dotnet/Alb/TargetGroup.cs b/sdk/dotnet/Alb/TargetGroup.cs index e4fffee94b4..9f1c8a37ec1 100644 --- a/sdk/dotnet/Alb/TargetGroup.cs +++ b/sdk/dotnet/Alb/TargetGroup.cs @@ -101,6 +101,32 @@ namespace Pulumi.Aws.Alb /// /// }); /// ``` + /// ### Target group with unhealthy connection termination disabled + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var tcp_example = new Aws.LB.TargetGroup("tcp-example", new() + /// { + /// Port = 25, + /// Protocol = "TCP", + /// VpcId = aws_vpc.Main.Id, + /// TargetHealthStates = new[] + /// { + /// new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs + /// { + /// EnableUnhealthyConnectionTermination = false, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` /// /// ## Import /// @@ -129,7 +155,7 @@ public partial class TargetGroup : global::Pulumi.CustomResource /// Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. /// [Output("connectionTermination")] - public Output ConnectionTermination { get; private set; } = null!; + public Output ConnectionTermination { get; private set; } = null!; /// /// Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -177,7 +203,7 @@ public partial class TargetGroup : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Port on which targets receive traffic, unless overridden when registering a specific target. Required when `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`. @@ -239,6 +265,12 @@ public partial class TargetGroup : global::Pulumi.CustomResource [Output("targetFailovers")] public Output> TargetFailovers { get; private set; } = null!; + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + [Output("targetHealthStates")] + public Output> TargetHealthStates { get; private set; } = null!; + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// @@ -433,6 +465,18 @@ public InputList TargetFailovers set => _targetFailovers = value; } + [Input("targetHealthStates")] + private InputList? _targetHealthStates; + + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + public InputList TargetHealthStates + { + get => _targetHealthStates ?? (_targetHealthStates = new InputList()); + set => _targetHealthStates = value; + } + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// @@ -610,6 +654,18 @@ public InputList TargetFailovers set => _targetFailovers = value; } + [Input("targetHealthStates")] + private InputList? _targetHealthStates; + + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + public InputList TargetHealthStates + { + get => _targetHealthStates ?? (_targetHealthStates = new InputList()); + set => _targetHealthStates = value; + } + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// diff --git a/sdk/dotnet/AutoScaling/Group.cs b/sdk/dotnet/AutoScaling/Group.cs index aff91e2d9f1..9e916ac49d2 100644 --- a/sdk/dotnet/AutoScaling/Group.cs +++ b/sdk/dotnet/AutoScaling/Group.cs @@ -595,7 +595,7 @@ public partial class Group : global::Pulumi.CustomResource /// Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. /// [Output("launchTemplate")] - public Output LaunchTemplate { get; private set; } = null!; + public Output LaunchTemplate { get; private set; } = null!; /// /// List of elastic load balancer names to add to the autoscaling @@ -642,7 +642,7 @@ public partial class Group : global::Pulumi.CustomResource /// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. /// [Output("mixedInstancesPolicy")] - public Output MixedInstancesPolicy { get; private set; } = null!; + public Output MixedInstancesPolicy { get; private set; } = null!; /// /// Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with `name_prefix`. diff --git a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupArgs.cs b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupArgs.cs index c03cb702334..f38068eeb2f 100644 --- a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupArgs.cs @@ -40,7 +40,7 @@ public InputList Exclu private InputList? _recordingStrategies; /// - /// Recording Strategy - see below.. + /// Recording Strategy. Detailed below. /// public InputList RecordingStrategies { diff --git a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeArgs.cs b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeArgs.cs index 42507e73f71..79c8cd4285e 100644 --- a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeArgs.cs @@ -16,7 +16,7 @@ public sealed class RecorderRecordingGroupExclusionByResourceTypeArgs : global:: private InputList? _resourceTypes; /// - /// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + /// A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. /// public InputList ResourceTypes { diff --git a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeGetArgs.cs b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeGetArgs.cs index 6ce75bc802b..66a9300ae2c 100644 --- a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeGetArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupExclusionByResourceTypeGetArgs.cs @@ -16,7 +16,7 @@ public sealed class RecorderRecordingGroupExclusionByResourceTypeGetArgs : globa private InputList? _resourceTypes; /// - /// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + /// A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. /// public InputList ResourceTypes { diff --git a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupGetArgs.cs b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupGetArgs.cs index f2d15bcfa9d..4f392108cb1 100644 --- a/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupGetArgs.cs +++ b/sdk/dotnet/Cfg/Inputs/RecorderRecordingGroupGetArgs.cs @@ -40,7 +40,7 @@ public InputList Ex private InputList? _recordingStrategies; /// - /// Recording Strategy - see below.. + /// Recording Strategy. Detailed below. /// public InputList RecordingStrategies { diff --git a/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeArgs.cs b/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeArgs.cs new file mode 100644 index 00000000000..9361f55d090 --- /dev/null +++ b/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeArgs.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.Cfg.Inputs +{ + + public sealed class RuleEvaluationModeArgs : global::Pulumi.ResourceArgs + { + /// + /// The mode of an evaluation. + /// + [Input("mode")] + public Input? Mode { get; set; } + + public RuleEvaluationModeArgs() + { + } + public static new RuleEvaluationModeArgs Empty => new RuleEvaluationModeArgs(); + } +} diff --git a/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeGetArgs.cs b/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeGetArgs.cs new file mode 100644 index 00000000000..f5543a02510 --- /dev/null +++ b/sdk/dotnet/Cfg/Inputs/RuleEvaluationModeGetArgs.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.Cfg.Inputs +{ + + public sealed class RuleEvaluationModeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The mode of an evaluation. + /// + [Input("mode")] + public Input? Mode { get; set; } + + public RuleEvaluationModeGetArgs() + { + } + public static new RuleEvaluationModeGetArgs Empty => new RuleEvaluationModeGetArgs(); + } +} diff --git a/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroup.cs b/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroup.cs index fbe6af99df5..3b87ea5b0e6 100644 --- a/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroup.cs +++ b/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroup.cs @@ -26,7 +26,7 @@ public sealed class RecorderRecordingGroup /// public readonly bool? IncludeGlobalResourceTypes; /// - /// Recording Strategy - see below.. + /// Recording Strategy. Detailed below. /// public readonly ImmutableArray RecordingStrategies; /// diff --git a/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroupExclusionByResourceType.cs b/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroupExclusionByResourceType.cs index b834f09d319..8f28cb884bc 100644 --- a/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroupExclusionByResourceType.cs +++ b/sdk/dotnet/Cfg/Outputs/RecorderRecordingGroupExclusionByResourceType.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Cfg.Outputs public sealed class RecorderRecordingGroupExclusionByResourceType { /// - /// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + /// A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. /// public readonly ImmutableArray ResourceTypes; diff --git a/sdk/dotnet/Cfg/Outputs/RuleEvaluationMode.cs b/sdk/dotnet/Cfg/Outputs/RuleEvaluationMode.cs new file mode 100644 index 00000000000..ccc4a04482e --- /dev/null +++ b/sdk/dotnet/Cfg/Outputs/RuleEvaluationMode.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.Cfg.Outputs +{ + + [OutputType] + public sealed class RuleEvaluationMode + { + /// + /// The mode of an evaluation. + /// + public readonly string? Mode; + + [OutputConstructor] + private RuleEvaluationMode(string? mode) + { + Mode = mode; + } + } +} diff --git a/sdk/dotnet/Cfg/Recorder.cs b/sdk/dotnet/Cfg/Recorder.cs index 873c1c306b9..9b231df2e45 100644 --- a/sdk/dotnet/Cfg/Recorder.cs +++ b/sdk/dotnet/Cfg/Recorder.cs @@ -15,6 +15,7 @@ namespace Pulumi.Aws.Cfg /// > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource. /// /// ## Example Usage + /// ### Basic Usage /// /// ```csharp /// using System.Collections.Generic; @@ -62,6 +63,44 @@ namespace Pulumi.Aws.Cfg /// /// }); /// ``` + /// ### Exclude Resources Types Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var foo = new Aws.Cfg.Recorder("foo", new() + /// { + /// RoleArn = aws_iam_role.R.Arn, + /// RecordingGroup = new Aws.Cfg.Inputs.RecorderRecordingGroupArgs + /// { + /// AllSupported = false, + /// ExclusionByResourceTypes = new[] + /// { + /// new Aws.Cfg.Inputs.RecorderRecordingGroupExclusionByResourceTypeArgs + /// { + /// ResourceTypes = new[] + /// { + /// "AWS::EC2::Instance", + /// }, + /// }, + /// }, + /// RecordingStrategies = new[] + /// { + /// new Aws.Cfg.Inputs.RecorderRecordingGroupRecordingStrategyArgs + /// { + /// UseOnly = "EXCLUSION_BY_RESOURCE_TYPES", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` /// /// ## Import /// diff --git a/sdk/dotnet/Cfg/Rule.cs b/sdk/dotnet/Cfg/Rule.cs index af6ad7382d0..97f5afe98b3 100644 --- a/sdk/dotnet/Cfg/Rule.cs +++ b/sdk/dotnet/Cfg/Rule.cs @@ -215,6 +215,12 @@ public partial class Rule : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + /// + [Output("evaluationModes")] + public Output> EvaluationModes { get; private set; } = null!; + /// /// A string in JSON format that is passed to the AWS Config rule Lambda function. /// @@ -319,6 +325,18 @@ public sealed class RuleArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("evaluationModes")] + private InputList? _evaluationModes; + + /// + /// The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + /// + public InputList EvaluationModes + { + get => _evaluationModes ?? (_evaluationModes = new InputList()); + set => _evaluationModes = value; + } + /// /// A string in JSON format that is passed to the AWS Config rule Lambda function. /// @@ -381,6 +399,18 @@ public sealed class RuleState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("evaluationModes")] + private InputList? _evaluationModes; + + /// + /// The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + /// + public InputList EvaluationModes + { + get => _evaluationModes ?? (_evaluationModes = new InputList()); + set => _evaluationModes = value; + } + /// /// A string in JSON format that is passed to the AWS Config rule Lambda function. /// diff --git a/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceArgs.cs index 634ad5a0cc5..567816f6284 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceArgs.cs @@ -73,7 +73,7 @@ public InputMap Tags public Input? VolumeSize { get; set; } /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceGetArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceGetArgs.cs index 9bd699a696e..e7fd30d22f6 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceGetArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceRootBlockDeviceGetArgs.cs @@ -73,7 +73,7 @@ public InputMap Tags public Input? VolumeSize { get; set; } /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceArgs.cs index e2778760ba8..23b429e94e3 100644 --- a/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceArgs.cs @@ -70,7 +70,7 @@ public InputMap Tags public Input? VolumeSize { get; set; } /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceGetArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceGetArgs.cs index 68fde849ca4..5305b6e7588 100644 --- a/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceGetArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/SpotInstanceRequestRootBlockDeviceGetArgs.cs @@ -70,7 +70,7 @@ public InputMap Tags public Input? VolumeSize { get; set; } /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/Outputs/InstanceRootBlockDevice.cs b/sdk/dotnet/Ec2/Outputs/InstanceRootBlockDevice.cs index 67433d8ac2b..62f448793d5 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceRootBlockDevice.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceRootBlockDevice.cs @@ -50,7 +50,7 @@ public sealed class InstanceRootBlockDevice /// public readonly int? VolumeSize; /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/Outputs/SpotInstanceRequestRootBlockDevice.cs b/sdk/dotnet/Ec2/Outputs/SpotInstanceRequestRootBlockDevice.cs index 66752e8fdd4..2e2dc59a677 100644 --- a/sdk/dotnet/Ec2/Outputs/SpotInstanceRequestRootBlockDevice.cs +++ b/sdk/dotnet/Ec2/Outputs/SpotInstanceRequestRootBlockDevice.cs @@ -47,7 +47,7 @@ public sealed class SpotInstanceRequestRootBlockDevice /// public readonly int? VolumeSize; /// - /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + /// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. /// /// Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. /// diff --git a/sdk/dotnet/Ec2/VpcIpamPoolCidr.cs b/sdk/dotnet/Ec2/VpcIpamPoolCidr.cs index 22157fb1cc2..8be991ed7a2 100644 --- a/sdk/dotnet/Ec2/VpcIpamPoolCidr.cs +++ b/sdk/dotnet/Ec2/VpcIpamPoolCidr.cs @@ -17,6 +17,90 @@ namespace Pulumi.Aws.Ec2 /// > **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in /// either a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role. /// + /// ## 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.GetRegion.Invoke(); + /// + /// var exampleVpcIpam = new Aws.Ec2.VpcIpam("exampleVpcIpam", new() + /// { + /// OperatingRegions = new[] + /// { + /// new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs + /// { + /// RegionName = current.Apply(getRegionResult => getRegionResult.Name), + /// }, + /// }, + /// }); + /// + /// var exampleVpcIpamPool = new Aws.Ec2.VpcIpamPool("exampleVpcIpamPool", new() + /// { + /// AddressFamily = "ipv4", + /// IpamScopeId = exampleVpcIpam.PrivateDefaultScopeId, + /// Locale = current.Apply(getRegionResult => getRegionResult.Name), + /// }); + /// + /// var exampleVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr("exampleVpcIpamPoolCidr", new() + /// { + /// IpamPoolId = exampleVpcIpamPool.Id, + /// Cidr = "172.20.0.0/16", + /// }); + /// + /// }); + /// ``` + /// + /// Provision Public IPv6 Pool CIDRs: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetRegion.Invoke(); + /// + /// var example = new Aws.Ec2.VpcIpam("example", new() + /// { + /// OperatingRegions = new[] + /// { + /// new Aws.Ec2.Inputs.VpcIpamOperatingRegionArgs + /// { + /// RegionName = current.Apply(getRegionResult => getRegionResult.Name), + /// }, + /// }, + /// }); + /// + /// var ipv6TestPublicVpcIpamPool = new Aws.Ec2.VpcIpamPool("ipv6TestPublicVpcIpamPool", new() + /// { + /// AddressFamily = "ipv6", + /// IpamScopeId = example.PublicDefaultScopeId, + /// Locale = "us-east-1", + /// Description = "public ipv6", + /// PubliclyAdvertisable = false, + /// PublicIpSource = "amazon", + /// AwsService = "ec2", + /// }); + /// + /// var ipv6TestPublicVpcIpamPoolCidr = new Aws.Ec2.VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", new() + /// { + /// IpamPoolId = ipv6TestPublicVpcIpamPool.Id, + /// NetmaskLength = 52, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import IPAMs using the `<cidr>_<ipam-pool-id>`. For example: diff --git a/sdk/dotnet/Ec2/VpcIpv6CidrBlockAssociation.cs b/sdk/dotnet/Ec2/VpcIpv6CidrBlockAssociation.cs index 20a5a3f7557..09b3efefc79 100644 --- a/sdk/dotnet/Ec2/VpcIpv6CidrBlockAssociation.cs +++ b/sdk/dotnet/Ec2/VpcIpv6CidrBlockAssociation.cs @@ -50,7 +50,7 @@ namespace Pulumi.Aws.Ec2 public partial class VpcIpv6CidrBlockAssociation : global::Pulumi.CustomResource { /// - /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. /// [Output("ipv6CidrBlock")] public Output Ipv6CidrBlock { get; private set; } = null!; @@ -120,7 +120,7 @@ public static VpcIpv6CidrBlockAssociation Get(string name, Input id, Vpc public sealed class VpcIpv6CidrBlockAssociationArgs : global::Pulumi.ResourceArgs { /// - /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } @@ -152,7 +152,7 @@ public VpcIpv6CidrBlockAssociationArgs() public sealed class VpcIpv6CidrBlockAssociationState : global::Pulumi.ResourceArgs { /// - /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + /// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. /// [Input("ipv6CidrBlock")] public Input? Ipv6CidrBlock { get; set; } diff --git a/sdk/dotnet/Ec2ClientVpn/Endpoint.cs b/sdk/dotnet/Ec2ClientVpn/Endpoint.cs index ae7cf2a4093..0db8ffda324 100644 --- a/sdk/dotnet/Ec2ClientVpn/Endpoint.cs +++ b/sdk/dotnet/Ec2ClientVpn/Endpoint.cs @@ -124,6 +124,12 @@ public partial class Endpoint : global::Pulumi.CustomResource [Output("selfServicePortal")] public Output SelfServicePortal { get; private set; } = null!; + /// + /// The URL of the self-service portal. + /// + [Output("selfServicePortalUrl")] + public Output SelfServicePortalUrl { get; private set; } = null!; + /// /// The ARN of the ACM server certificate. /// @@ -434,6 +440,12 @@ public InputList SecurityGroupIds [Input("selfServicePortal")] public Input? SelfServicePortal { get; set; } + /// + /// The URL of the self-service portal. + /// + [Input("selfServicePortalUrl")] + public Input? SelfServicePortalUrl { get; set; } + /// /// The ARN of the ACM server certificate. /// diff --git a/sdk/dotnet/Ec2ClientVpn/GetEndpoint.cs b/sdk/dotnet/Ec2ClientVpn/GetEndpoint.cs index 283cecd4483..f14d36832ff 100644 --- a/sdk/dotnet/Ec2ClientVpn/GetEndpoint.cs +++ b/sdk/dotnet/Ec2ClientVpn/GetEndpoint.cs @@ -260,6 +260,10 @@ public sealed class GetEndpointResult /// public readonly string SelfServicePortal; /// + /// The URL of the self-service portal. + /// + public readonly string SelfServicePortalUrl; + /// /// The ARN of the server certificate. /// public readonly string ServerCertificateArn; @@ -315,6 +319,8 @@ private GetEndpointResult( string selfServicePortal, + string selfServicePortalUrl, + string serverCertificateArn, int sessionTimeoutHours, @@ -343,6 +349,7 @@ private GetEndpointResult( Id = id; SecurityGroupIds = securityGroupIds; SelfServicePortal = selfServicePortal; + SelfServicePortalUrl = selfServicePortalUrl; ServerCertificateArn = serverCertificateArn; SessionTimeoutHours = sessionTimeoutHours; SplitTunnel = splitTunnel; diff --git a/sdk/dotnet/ElastiCache/Cluster.cs b/sdk/dotnet/ElastiCache/Cluster.cs index db9e417a067..69ef464c484 100644 --- a/sdk/dotnet/ElastiCache/Cluster.cs +++ b/sdk/dotnet/ElastiCache/Cluster.cs @@ -213,7 +213,7 @@ public partial class Cluster : global::Pulumi.CustomResource /// When the version is 6, the major and minor version can be set, e.g., `6.2`, /// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. /// Otherwise, specify the full version desired, e.g., `5.0.6`. - /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` /// [Output("engineVersion")] public Output EngineVersion { get; private set; } = null!; @@ -313,7 +313,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output ReplicationGroupId { get; private set; } = null!; /// - /// One or more VPC security groups associated with the cache cluster + /// One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` /// [Output("securityGroupIds")] public Output> SecurityGroupIds { get; private set; } = null!; @@ -343,7 +343,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output SnapshotWindow { get; private set; } = null!; /// - /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` /// [Output("subnetGroupName")] public Output SubnetGroupName { get; private set; } = null!; @@ -462,7 +462,7 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs /// When the version is 6, the major and minor version can be set, e.g., `6.2`, /// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. /// Otherwise, specify the full version desired, e.g., `5.0.6`. - /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` /// [Input("engineVersion")] public Input? EngineVersion { get; set; } @@ -571,7 +571,7 @@ public InputList PreferredAvailabilityZones private InputList? _securityGroupIds; /// - /// One or more VPC security groups associated with the cache cluster + /// One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` /// public InputList SecurityGroupIds { @@ -604,7 +604,7 @@ public InputList SecurityGroupIds public Input? SnapshotWindow { get; set; } /// - /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` /// [Input("subnetGroupName")] public Input? SubnetGroupName { get; set; } @@ -711,7 +711,7 @@ public InputList CacheNodes /// When the version is 6, the major and minor version can be set, e.g., `6.2`, /// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. /// Otherwise, specify the full version desired, e.g., `5.0.6`. - /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + /// The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` /// [Input("engineVersion")] public Input? EngineVersion { get; set; } @@ -826,7 +826,7 @@ public InputList PreferredAvailabilityZones private InputList? _securityGroupIds; /// - /// One or more VPC security groups associated with the cache cluster + /// One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` /// public InputList SecurityGroupIds { @@ -859,7 +859,7 @@ public InputList SecurityGroupIds public Input? SnapshotWindow { get; set; } /// - /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + /// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` /// [Input("subnetGroupName")] public Input? SubnetGroupName { get; set; } diff --git a/sdk/dotnet/ElastiCache/ReplicationGroup.cs b/sdk/dotnet/ElastiCache/ReplicationGroup.cs index 1c316372e7b..a050e8829c5 100644 --- a/sdk/dotnet/ElastiCache/ReplicationGroup.cs +++ b/sdk/dotnet/ElastiCache/ReplicationGroup.cs @@ -323,6 +323,12 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource [Output("globalReplicationGroupId")] public Output GlobalReplicationGroupId { get; private set; } = null!; + /// + /// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + /// + [Output("ipDiscovery")] + public Output IpDiscovery { get; private set; } = null!; + /// /// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. /// @@ -353,6 +359,12 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource [Output("multiAzEnabled")] public Output MultiAzEnabled { get; private set; } = null!; + /// + /// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + /// + [Output("networkType")] + public Output NetworkType { get; private set; } = null!; + /// /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. /// @@ -425,13 +437,13 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource public Output ReplicationGroupId { get; private set; } = null!; /// - /// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + /// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// [Output("securityGroupIds")] public Output> SecurityGroupIds { get; private set; } = null!; /// - /// List of cache security group names to associate with this replication group. + /// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// [Output("securityGroupNames")] public Output> SecurityGroupNames { get; private set; } = null!; @@ -624,6 +636,12 @@ public Input? AuthToken [Input("globalReplicationGroupId")] public Input? GlobalReplicationGroupId { get; set; } + /// + /// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + /// + [Input("ipDiscovery")] + public Input? IpDiscovery { get; set; } + /// /// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. /// @@ -654,6 +672,12 @@ public InputList LogDeliver [Input("multiAzEnabled")] public Input? MultiAzEnabled { get; set; } + /// + /// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + /// + [Input("networkType")] + public Input? NetworkType { get; set; } + /// /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. /// @@ -723,7 +747,7 @@ public InputList PreferredCacheClusterAzs private InputList? _securityGroupIds; /// - /// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + /// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// public InputList SecurityGroupIds { @@ -735,7 +759,7 @@ public InputList SecurityGroupIds private InputList? _securityGroupNames; /// - /// List of cache security group names to associate with this replication group. + /// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// public InputList SecurityGroupNames { @@ -924,6 +948,12 @@ public Input? AuthToken [Input("globalReplicationGroupId")] public Input? GlobalReplicationGroupId { get; set; } + /// + /// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + /// + [Input("ipDiscovery")] + public Input? IpDiscovery { get; set; } + /// /// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. /// @@ -966,6 +996,12 @@ public InputList MemberClusters [Input("multiAzEnabled")] public Input? MultiAzEnabled { get; set; } + /// + /// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + /// + [Input("networkType")] + public Input? NetworkType { get; set; } + /// /// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. /// @@ -1047,7 +1083,7 @@ public InputList PreferredCacheClusterAzs private InputList? _securityGroupIds; /// - /// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + /// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// public InputList SecurityGroupIds { @@ -1059,7 +1095,7 @@ public InputList SecurityGroupIds private InputList? _securityGroupNames; /// - /// List of cache security group names to associate with this replication group. + /// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. /// public InputList SecurityGroupNames { diff --git a/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsArgs.cs new file mode 100644 index 00000000000..f541b167d7f --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsArgs.cs @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.ElasticSearch.Inputs +{ + + public sealed class VpcEndpointVpcOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("availabilityZones")] + private InputList? _availabilityZones; + public InputList AvailabilityZones + { + get => _availabilityZones ?? (_availabilityZones = new InputList()); + set => _availabilityZones = value; + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcEndpointVpcOptionsArgs() + { + } + public static new VpcEndpointVpcOptionsArgs Empty => new VpcEndpointVpcOptionsArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsGetArgs.cs new file mode 100644 index 00000000000..60b1066b25e --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/VpcEndpointVpcOptionsGetArgs.cs @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.ElasticSearch.Inputs +{ + + public sealed class VpcEndpointVpcOptionsGetArgs : global::Pulumi.ResourceArgs + { + [Input("availabilityZones")] + private InputList? _availabilityZones; + public InputList AvailabilityZones + { + get => _availabilityZones ?? (_availabilityZones = new InputList()); + set => _availabilityZones = value; + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcEndpointVpcOptionsGetArgs() + { + } + public static new VpcEndpointVpcOptionsGetArgs Empty => new VpcEndpointVpcOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Outputs/VpcEndpointVpcOptions.cs b/sdk/dotnet/ElasticSearch/Outputs/VpcEndpointVpcOptions.cs new file mode 100644 index 00000000000..46c26355d9a --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/VpcEndpointVpcOptions.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class VpcEndpointVpcOptions + { + public readonly ImmutableArray AvailabilityZones; + /// + /// The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + /// + public readonly ImmutableArray SubnetIds; + public readonly string? VpcId; + + [OutputConstructor] + private VpcEndpointVpcOptions( + ImmutableArray availabilityZones, + + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds, + + string? vpcId) + { + AvailabilityZones = availabilityZones; + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/ElasticSearch/VpcEndpoint.cs b/sdk/dotnet/ElasticSearch/VpcEndpoint.cs new file mode 100644 index 00000000000..b77317f714f --- /dev/null +++ b/sdk/dotnet/ElasticSearch/VpcEndpoint.cs @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.ElasticSearch +{ + /// + /// Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var foo = new Aws.ElasticSearch.VpcEndpoint("foo", new() + /// { + /// DomainArn = aws_elasticsearch_domain.Domain_1.Arn, + /// VpcOptions = new Aws.ElasticSearch.Inputs.VpcEndpointVpcOptionsArgs + /// { + /// SecurityGroupIds = new[] + /// { + /// aws_security_group.Test.Id, + /// aws_security_group.Test2.Id, + /// }, + /// SubnetIds = new[] + /// { + /// aws_subnet.Test.Id, + /// aws_subnet.Test2.Id, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id + /// ``` + /// + [AwsResourceType("aws:elasticsearch/vpcEndpoint:VpcEndpoint")] + public partial class VpcEndpoint : global::Pulumi.CustomResource + { + /// + /// Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + /// + [Output("domainArn")] + public Output DomainArn { get; private set; } = null!; + + /// + /// The connection endpoint ID for connecting to the domain. + /// + [Output("endpoint")] + public Output Endpoint { get; private set; } = null!; + + /// + /// Options to specify the subnets and security groups for the endpoint. + /// + [Output("vpcOptions")] + public Output VpcOptions { get; private set; } = null!; + + + /// + /// Create a VpcEndpoint 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 VpcEndpoint(string name, VpcEndpointArgs args, CustomResourceOptions? options = null) + : base("aws:elasticsearch/vpcEndpoint:VpcEndpoint", name, args ?? new VpcEndpointArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcEndpoint(string name, Input id, VpcEndpointState? state = null, CustomResourceOptions? options = null) + : base("aws:elasticsearch/vpcEndpoint:VpcEndpoint", 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 VpcEndpoint 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 VpcEndpoint Get(string name, Input id, VpcEndpointState? state = null, CustomResourceOptions? options = null) + { + return new VpcEndpoint(name, id, state, options); + } + } + + public sealed class VpcEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + /// + [Input("domainArn", required: true)] + public Input DomainArn { get; set; } = null!; + + /// + /// Options to specify the subnets and security groups for the endpoint. + /// + [Input("vpcOptions", required: true)] + public Input VpcOptions { get; set; } = null!; + + public VpcEndpointArgs() + { + } + public static new VpcEndpointArgs Empty => new VpcEndpointArgs(); + } + + public sealed class VpcEndpointState : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + /// + [Input("domainArn")] + public Input? DomainArn { get; set; } + + /// + /// The connection endpoint ID for connecting to the domain. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + /// + /// Options to specify the subnets and security groups for the endpoint. + /// + [Input("vpcOptions")] + public Input? VpcOptions { get; set; } + + public VpcEndpointState() + { + } + public static new VpcEndpointState Empty => new VpcEndpointState(); + } +} diff --git a/sdk/dotnet/Elb/LoadBalancer.cs b/sdk/dotnet/Elb/LoadBalancer.cs index b840ba61458..03b3d255219 100644 --- a/sdk/dotnet/Elb/LoadBalancer.cs +++ b/sdk/dotnet/Elb/LoadBalancer.cs @@ -196,7 +196,7 @@ public partial class LoadBalancer : global::Pulumi.CustomResource /// prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// A list of security group IDs to assign to the ELB. diff --git a/sdk/dotnet/Emr/SecurityConfiguration.cs b/sdk/dotnet/Emr/SecurityConfiguration.cs index 91a3e4d11a1..a09fd7e0bd4 100644 --- a/sdk/dotnet/Emr/SecurityConfiguration.cs +++ b/sdk/dotnet/Emr/SecurityConfiguration.cs @@ -80,7 +80,7 @@ public partial class SecurityConfiguration : global::Pulumi.CustomResource /// prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// diff --git a/sdk/dotnet/Glue/Crawler.cs b/sdk/dotnet/Glue/Crawler.cs index af42f1ad562..fa27b84dfaa 100644 --- a/sdk/dotnet/Glue/Crawler.cs +++ b/sdk/dotnet/Glue/Crawler.cs @@ -256,13 +256,13 @@ public partial class Crawler : global::Pulumi.CustomResource public Output> DynamodbTargets { get; private set; } = null!; /// - /// List nested Hudi target arguments. See Iceberg Target below. + /// List of nested Hudi target arguments. See Iceberg Target below. /// [Output("hudiTargets")] public Output> HudiTargets { get; private set; } = null!; /// - /// List nested Iceberg target arguments. See Iceberg Target below. + /// List of nested Iceberg target arguments. See Iceberg Target below. /// [Output("icebergTargets")] public Output> IcebergTargets { get; private set; } = null!; @@ -286,7 +286,7 @@ public partial class Crawler : global::Pulumi.CustomResource public Output LineageConfiguration { get; private set; } = null!; /// - /// List nested MongoDB target arguments. See MongoDB Target below. + /// List of nested MongoDB target arguments. See MongoDB Target below. /// [Output("mongodbTargets")] public Output> MongodbTargets { get; private set; } = null!; @@ -310,7 +310,7 @@ public partial class Crawler : global::Pulumi.CustomResource public Output Role { get; private set; } = null!; /// - /// List nested Amazon S3 target arguments. See S3 Target below. + /// List of nested Amazon S3 target arguments. See S3 Target below. /// [Output("s3Targets")] public Output> S3Targets { get; private set; } = null!; @@ -467,7 +467,7 @@ public InputList DynamodbTargets private InputList? _hudiTargets; /// - /// List nested Hudi target arguments. See Iceberg Target below. + /// List of nested Hudi target arguments. See Iceberg Target below. /// public InputList HudiTargets { @@ -479,7 +479,7 @@ public InputList HudiTargets private InputList? _icebergTargets; /// - /// List nested Iceberg target arguments. See Iceberg Target below. + /// List of nested Iceberg target arguments. See Iceberg Target below. /// public InputList IcebergTargets { @@ -515,7 +515,7 @@ public InputList JdbcTargets private InputList? _mongodbTargets; /// - /// List nested MongoDB target arguments. See MongoDB Target below. + /// List of nested MongoDB target arguments. See MongoDB Target below. /// public InputList MongodbTargets { @@ -545,7 +545,7 @@ public InputList MongodbTargets private InputList? _s3Targets; /// - /// List nested Amazon S3 target arguments. See S3 Target below. + /// List of nested Amazon S3 target arguments. See S3 Target below. /// public InputList S3Targets { @@ -669,7 +669,7 @@ public InputList DynamodbTargets private InputList? _hudiTargets; /// - /// List nested Hudi target arguments. See Iceberg Target below. + /// List of nested Hudi target arguments. See Iceberg Target below. /// public InputList HudiTargets { @@ -681,7 +681,7 @@ public InputList HudiTargets private InputList? _icebergTargets; /// - /// List nested Iceberg target arguments. See Iceberg Target below. + /// List of nested Iceberg target arguments. See Iceberg Target below. /// public InputList IcebergTargets { @@ -717,7 +717,7 @@ public InputList JdbcTargets private InputList? _mongodbTargets; /// - /// List nested MongoDB target arguments. See MongoDB Target below. + /// List of nested MongoDB target arguments. See MongoDB Target below. /// public InputList MongodbTargets { @@ -747,7 +747,7 @@ public InputList MongodbTargets private InputList? _s3Targets; /// - /// List nested Amazon S3 target arguments. See S3 Target below. + /// List of nested Amazon S3 target arguments. See S3 Target below. /// public InputList S3Targets { diff --git a/sdk/dotnet/Iam/GroupPolicy.cs b/sdk/dotnet/Iam/GroupPolicy.cs index 05cd9428201..91d9c2b88e3 100644 --- a/sdk/dotnet/Iam/GroupPolicy.cs +++ b/sdk/dotnet/Iam/GroupPolicy.cs @@ -81,7 +81,7 @@ public partial class GroupPolicy : global::Pulumi.CustomResource /// prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// The policy document. This is a JSON formatted string. diff --git a/sdk/dotnet/Iam/RolePolicy.cs b/sdk/dotnet/Iam/RolePolicy.cs index 19f55de135d..daed72d1b92 100644 --- a/sdk/dotnet/Iam/RolePolicy.cs +++ b/sdk/dotnet/Iam/RolePolicy.cs @@ -93,7 +93,7 @@ public partial class RolePolicy : global::Pulumi.CustomResource /// prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// The inline policy document. This is a JSON formatted string. For more information about building IAM policy documents with the provider, see the AWS IAM Policy Document Guide diff --git a/sdk/dotnet/Iam/UserPolicy.cs b/sdk/dotnet/Iam/UserPolicy.cs index bd6a5220db5..b1a4ff86713 100644 --- a/sdk/dotnet/Iam/UserPolicy.cs +++ b/sdk/dotnet/Iam/UserPolicy.cs @@ -78,7 +78,7 @@ public partial class UserPolicy : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// The policy document. This is a JSON formatted string. diff --git a/sdk/dotnet/ImageBuilder/GetImage.cs b/sdk/dotnet/ImageBuilder/GetImage.cs index 368ae447576..7ae8001bac5 100644 --- a/sdk/dotnet/ImageBuilder/GetImage.cs +++ b/sdk/dotnet/ImageBuilder/GetImage.cs @@ -157,6 +157,10 @@ public sealed class GetImageResult /// public readonly string ImageRecipeArn; /// + /// List of an object with image scanning configuration fields. + /// + public readonly ImmutableArray ImageScanningConfigurations; + /// /// List of an object with image tests configuration. /// public readonly ImmutableArray ImageTestsConfigurations; @@ -207,6 +211,8 @@ private GetImageResult( string imageRecipeArn, + ImmutableArray imageScanningConfigurations, + ImmutableArray imageTestsConfigurations, string infrastructureConfigurationArn, @@ -231,6 +237,7 @@ private GetImageResult( EnhancedImageMetadataEnabled = enhancedImageMetadataEnabled; Id = id; ImageRecipeArn = imageRecipeArn; + ImageScanningConfigurations = imageScanningConfigurations; ImageTestsConfigurations = imageTestsConfigurations; InfrastructureConfigurationArn = infrastructureConfigurationArn; Name = name; diff --git a/sdk/dotnet/ImageBuilder/Image.cs b/sdk/dotnet/ImageBuilder/Image.cs index b3e30eca13b..dc6717cd3c8 100644 --- a/sdk/dotnet/ImageBuilder/Image.cs +++ b/sdk/dotnet/ImageBuilder/Image.cs @@ -79,6 +79,12 @@ public partial class Image : global::Pulumi.CustomResource [Output("imageRecipeArn")] public Output ImageRecipeArn { get; private set; } = null!; + /// + /// Configuration block with image scanning configuration. Detailed below. + /// + [Output("imageScanningConfiguration")] + public Output ImageScanningConfiguration { get; private set; } = null!; + /// /// Configuration block with image tests configuration. Detailed below. /// @@ -209,6 +215,12 @@ public sealed class ImageArgs : global::Pulumi.ResourceArgs [Input("imageRecipeArn")] public Input? ImageRecipeArn { get; set; } + /// + /// Configuration block with image scanning configuration. Detailed below. + /// + [Input("imageScanningConfiguration")] + public Input? ImageScanningConfiguration { get; set; } + /// /// Configuration block with image tests configuration. Detailed below. /// @@ -279,6 +291,12 @@ public sealed class ImageState : global::Pulumi.ResourceArgs [Input("imageRecipeArn")] public Input? ImageRecipeArn { get; set; } + /// + /// Configuration block with image scanning configuration. Detailed below. + /// + [Input("imageScanningConfiguration")] + public Input? ImageScanningConfiguration { get; set; } + /// /// Configuration block with image tests configuration. Detailed below. /// diff --git a/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationArgs.cs b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationArgs.cs new file mode 100644 index 00000000000..299ba4a7bf7 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationArgs.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.ImageBuilder.Inputs +{ + + public sealed class ImageImageScanningConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block with ECR configuration. Detailed below. + /// + [Input("ecrConfiguration")] + public Input? EcrConfiguration { get; set; } + + /// + /// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + /// + [Input("imageScanningEnabled")] + public Input? ImageScanningEnabled { get; set; } + + public ImageImageScanningConfigurationArgs() + { + } + public static new ImageImageScanningConfigurationArgs Empty => new ImageImageScanningConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationArgs.cs b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationArgs.cs new file mode 100644 index 00000000000..ddadc3c5b24 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationArgs.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.ImageBuilder.Inputs +{ + + public sealed class ImageImageScanningConfigurationEcrConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("containerTags")] + private InputList? _containerTags; + + /// + /// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + /// + public InputList ContainerTags + { + get => _containerTags ?? (_containerTags = new InputList()); + set => _containerTags = value; + } + + /// + /// The name of the container repository that Amazon Inspector scans to identify findings for your container images. + /// + [Input("repositoryName")] + public Input? RepositoryName { get; set; } + + public ImageImageScanningConfigurationEcrConfigurationArgs() + { + } + public static new ImageImageScanningConfigurationEcrConfigurationArgs Empty => new ImageImageScanningConfigurationEcrConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationGetArgs.cs b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationGetArgs.cs new file mode 100644 index 00000000000..d8b32f76f83 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationEcrConfigurationGetArgs.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.ImageBuilder.Inputs +{ + + public sealed class ImageImageScanningConfigurationEcrConfigurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("containerTags")] + private InputList? _containerTags; + + /// + /// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + /// + public InputList ContainerTags + { + get => _containerTags ?? (_containerTags = new InputList()); + set => _containerTags = value; + } + + /// + /// The name of the container repository that Amazon Inspector scans to identify findings for your container images. + /// + [Input("repositoryName")] + public Input? RepositoryName { get; set; } + + public ImageImageScanningConfigurationEcrConfigurationGetArgs() + { + } + public static new ImageImageScanningConfigurationEcrConfigurationGetArgs Empty => new ImageImageScanningConfigurationEcrConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationGetArgs.cs b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationGetArgs.cs new file mode 100644 index 00000000000..5e2c257913d --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Inputs/ImageImageScanningConfigurationGetArgs.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.ImageBuilder.Inputs +{ + + public sealed class ImageImageScanningConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block with ECR configuration. Detailed below. + /// + [Input("ecrConfiguration")] + public Input? EcrConfiguration { get; set; } + + /// + /// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + /// + [Input("imageScanningEnabled")] + public Input? ImageScanningEnabled { get; set; } + + public ImageImageScanningConfigurationGetArgs() + { + } + public static new ImageImageScanningConfigurationGetArgs Empty => new ImageImageScanningConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationEcrConfigurationResult.cs b/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationEcrConfigurationResult.cs new file mode 100644 index 00000000000..6c98e16e8f8 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationEcrConfigurationResult.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.ImageBuilder.Outputs +{ + + [OutputType] + public sealed class GetImageImageScanningConfigurationEcrConfigurationResult + { + /// + /// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + /// + public readonly ImmutableArray ContainerTags; + /// + /// The name of the container repository that Amazon Inspector scans to identify findings for your container images. + /// + public readonly string RepositoryName; + + [OutputConstructor] + private GetImageImageScanningConfigurationEcrConfigurationResult( + ImmutableArray containerTags, + + string repositoryName) + { + ContainerTags = containerTags; + RepositoryName = repositoryName; + } + } +} diff --git a/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationResult.cs b/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationResult.cs new file mode 100644 index 00000000000..fd6a3c95601 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Outputs/GetImageImageScanningConfigurationResult.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.ImageBuilder.Outputs +{ + + [OutputType] + public sealed class GetImageImageScanningConfigurationResult + { + /// + /// Configuration block with ECR configuration. + /// + public readonly ImmutableArray EcrConfigurations; + /// + /// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + /// + public readonly bool ImageScanningEnabled; + + [OutputConstructor] + private GetImageImageScanningConfigurationResult( + ImmutableArray ecrConfigurations, + + bool imageScanningEnabled) + { + EcrConfigurations = ecrConfigurations; + ImageScanningEnabled = imageScanningEnabled; + } + } +} diff --git a/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfiguration.cs b/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfiguration.cs new file mode 100644 index 00000000000..68d14b2e5b5 --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfiguration.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.ImageBuilder.Outputs +{ + + [OutputType] + public sealed class ImageImageScanningConfiguration + { + /// + /// Configuration block with ECR configuration. Detailed below. + /// + public readonly Outputs.ImageImageScanningConfigurationEcrConfiguration? EcrConfiguration; + /// + /// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + /// + public readonly bool? ImageScanningEnabled; + + [OutputConstructor] + private ImageImageScanningConfiguration( + Outputs.ImageImageScanningConfigurationEcrConfiguration? ecrConfiguration, + + bool? imageScanningEnabled) + { + EcrConfiguration = ecrConfiguration; + ImageScanningEnabled = imageScanningEnabled; + } + } +} diff --git a/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfigurationEcrConfiguration.cs b/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfigurationEcrConfiguration.cs new file mode 100644 index 00000000000..1852823251e --- /dev/null +++ b/sdk/dotnet/ImageBuilder/Outputs/ImageImageScanningConfigurationEcrConfiguration.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.ImageBuilder.Outputs +{ + + [OutputType] + public sealed class ImageImageScanningConfigurationEcrConfiguration + { + /// + /// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + /// + public readonly ImmutableArray ContainerTags; + /// + /// The name of the container repository that Amazon Inspector scans to identify findings for your container images. + /// + public readonly string? RepositoryName; + + [OutputConstructor] + private ImageImageScanningConfigurationEcrConfiguration( + ImmutableArray containerTags, + + string? repositoryName) + { + ContainerTags = containerTags; + RepositoryName = repositoryName; + } + } +} diff --git a/sdk/dotnet/Inspector2/Enabler.cs b/sdk/dotnet/Inspector2/Enabler.cs index b3aa89d70bc..b465c38165f 100644 --- a/sdk/dotnet/Inspector2/Enabler.cs +++ b/sdk/dotnet/Inspector2/Enabler.cs @@ -79,7 +79,7 @@ public partial class Enabler : global::Pulumi.CustomResource /// /// Type of resources to scan. - /// Valid values are `EC2`, `ECR`, and `LAMBDA`. + /// Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. /// At least one item is required. /// [Output("resourceTypes")] @@ -149,7 +149,7 @@ public InputList AccountIds /// /// Type of resources to scan. - /// Valid values are `EC2`, `ECR`, and `LAMBDA`. + /// Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. /// At least one item is required. /// public InputList ResourceTypes @@ -184,7 +184,7 @@ public InputList AccountIds /// /// Type of resources to scan. - /// Valid values are `EC2`, `ECR`, and `LAMBDA`. + /// Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. /// At least one item is required. /// public InputList ResourceTypes diff --git a/sdk/dotnet/Iot/DomainConfiguration.cs b/sdk/dotnet/Iot/DomainConfiguration.cs new file mode 100644 index 00000000000..a754e58a001 --- /dev/null +++ b/sdk/dotnet/Iot/DomainConfiguration.cs @@ -0,0 +1,336 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Iot +{ + /// + /// Creates and manages an AWS IoT domain configuration. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var iot = new Aws.Iot.DomainConfiguration("iot", new() + /// { + /// DomainName = "iot.example.com", + /// ServiceType = "DATA", + /// ServerCertificateArns = new[] + /// { + /// aws_acm_certificate.Cert.Arn, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import domain configurations using the name. For example: + /// + /// ```sh + /// $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example + /// ``` + /// + [AwsResourceType("aws:iot/domainConfiguration:DomainConfiguration")] + public partial class DomainConfiguration : global::Pulumi.CustomResource + { + /// + /// The ARN of the domain configuration. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// An object that specifies the authorization service for a domain. See below. + /// + [Output("authorizerConfig")] + public Output AuthorizerConfig { get; private set; } = null!; + + /// + /// Fully-qualified domain name. + /// + [Output("domainName")] + public Output DomainName { get; private set; } = null!; + + /// + /// The type of the domain. + /// + [Output("domainType")] + public Output DomainType { get; private set; } = null!; + + /// + /// The name of the domain configuration. This value must be unique to a region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + /// + [Output("serverCertificateArns")] + public Output> ServerCertificateArns { get; private set; } = null!; + + /// + /// The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + /// + [Output("serviceType")] + public Output ServiceType { get; private set; } = null!; + + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Map of tags to assign to this 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!; + + /// + /// An object that specifies the TLS configuration for a domain. See below. + /// + [Output("tlsConfig")] + public Output TlsConfig { get; private set; } = null!; + + /// + /// The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + /// + [Output("validationCertificateArn")] + public Output ValidationCertificateArn { get; private set; } = null!; + + + /// + /// Create a DomainConfiguration 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 DomainConfiguration(string name, DomainConfigurationArgs? args = null, CustomResourceOptions? options = null) + : base("aws:iot/domainConfiguration:DomainConfiguration", name, args ?? new DomainConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private DomainConfiguration(string name, Input id, DomainConfigurationState? state = null, CustomResourceOptions? options = null) + : base("aws:iot/domainConfiguration:DomainConfiguration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "tagsAll", + }, + }; + 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 DomainConfiguration 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 DomainConfiguration Get(string name, Input id, DomainConfigurationState? state = null, CustomResourceOptions? options = null) + { + return new DomainConfiguration(name, id, state, options); + } + } + + public sealed class DomainConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// An object that specifies the authorization service for a domain. See below. + /// + [Input("authorizerConfig")] + public Input? AuthorizerConfig { get; set; } + + /// + /// Fully-qualified domain name. + /// + [Input("domainName")] + public Input? DomainName { get; set; } + + /// + /// The name of the domain configuration. This value must be unique to a region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("serverCertificateArns")] + private InputList? _serverCertificateArns; + + /// + /// The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + /// + public InputList ServerCertificateArns + { + get => _serverCertificateArns ?? (_serverCertificateArns = new InputList()); + set => _serverCertificateArns = value; + } + + /// + /// The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + /// + [Input("serviceType")] + public Input? ServiceType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to this 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; + } + + /// + /// An object that specifies the TLS configuration for a domain. See below. + /// + [Input("tlsConfig")] + public Input? TlsConfig { get; set; } + + /// + /// The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + /// + [Input("validationCertificateArn")] + public Input? ValidationCertificateArn { get; set; } + + public DomainConfigurationArgs() + { + } + public static new DomainConfigurationArgs Empty => new DomainConfigurationArgs(); + } + + public sealed class DomainConfigurationState : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the domain configuration. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// An object that specifies the authorization service for a domain. See below. + /// + [Input("authorizerConfig")] + public Input? AuthorizerConfig { get; set; } + + /// + /// Fully-qualified domain name. + /// + [Input("domainName")] + public Input? DomainName { get; set; } + + /// + /// The type of the domain. + /// + [Input("domainType")] + public Input? DomainType { get; set; } + + /// + /// The name of the domain configuration. This value must be unique to a region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("serverCertificateArns")] + private InputList? _serverCertificateArns; + + /// + /// The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + /// + public InputList ServerCertificateArns + { + get => _serverCertificateArns ?? (_serverCertificateArns = new InputList()); + set => _serverCertificateArns = value; + } + + /// + /// The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + /// + [Input("serviceType")] + public Input? ServiceType { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags to assign to this 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 + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _tagsAll = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// An object that specifies the TLS configuration for a domain. See below. + /// + [Input("tlsConfig")] + public Input? TlsConfig { get; set; } + + /// + /// The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + /// + [Input("validationCertificateArn")] + public Input? ValidationCertificateArn { get; set; } + + public DomainConfigurationState() + { + } + public static new DomainConfigurationState Empty => new DomainConfigurationState(); + } +} diff --git a/sdk/dotnet/Iot/IndexingConfiguration.cs b/sdk/dotnet/Iot/IndexingConfiguration.cs index b82c0af0cac..560e94e9797 100644 --- a/sdk/dotnet/Iot/IndexingConfiguration.cs +++ b/sdk/dotnet/Iot/IndexingConfiguration.cs @@ -50,6 +50,13 @@ namespace Pulumi.Aws.Iot /// }, /// }, /// DeviceDefenderIndexingMode = "VIOLATIONS", + /// Filter = new Aws.Iot.Inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs + /// { + /// NamedShadowNames = new[] + /// { + /// "thing1shadow", + /// }, + /// }, /// NamedShadowIndexingMode = "ON", /// ThingConnectivityIndexingMode = "STATUS", /// ThingIndexingMode = "REGISTRY_AND_SHADOW", diff --git a/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigArgs.cs b/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigArgs.cs new file mode 100644 index 00000000000..72c0034f539 --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigArgs.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.Iot.Inputs +{ + + public sealed class DomainConfigurationAuthorizerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// A Boolean that specifies whether the domain configuration's authorization service can be overridden. + /// + [Input("allowAuthorizerOverride")] + public Input? AllowAuthorizerOverride { get; set; } + + /// + /// The name of the authorization service for a domain configuration. + /// + [Input("defaultAuthorizerName")] + public Input? DefaultAuthorizerName { get; set; } + + public DomainConfigurationAuthorizerConfigArgs() + { + } + public static new DomainConfigurationAuthorizerConfigArgs Empty => new DomainConfigurationAuthorizerConfigArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigGetArgs.cs b/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigGetArgs.cs new file mode 100644 index 00000000000..41222c32da9 --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/DomainConfigurationAuthorizerConfigGetArgs.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.Iot.Inputs +{ + + public sealed class DomainConfigurationAuthorizerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A Boolean that specifies whether the domain configuration's authorization service can be overridden. + /// + [Input("allowAuthorizerOverride")] + public Input? AllowAuthorizerOverride { get; set; } + + /// + /// The name of the authorization service for a domain configuration. + /// + [Input("defaultAuthorizerName")] + public Input? DefaultAuthorizerName { get; set; } + + public DomainConfigurationAuthorizerConfigGetArgs() + { + } + public static new DomainConfigurationAuthorizerConfigGetArgs Empty => new DomainConfigurationAuthorizerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigArgs.cs b/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigArgs.cs new file mode 100644 index 00000000000..63ad8f76390 --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigArgs.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.Iot.Inputs +{ + + public sealed class DomainConfigurationTlsConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The security policy for a domain configuration. + /// + [Input("securityPolicy")] + public Input? SecurityPolicy { get; set; } + + public DomainConfigurationTlsConfigArgs() + { + } + public static new DomainConfigurationTlsConfigArgs Empty => new DomainConfigurationTlsConfigArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigGetArgs.cs b/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigGetArgs.cs new file mode 100644 index 00000000000..0043af15a9d --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/DomainConfigurationTlsConfigGetArgs.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.Iot.Inputs +{ + + public sealed class DomainConfigurationTlsConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The security policy for a domain configuration. + /// + [Input("securityPolicy")] + public Input? SecurityPolicy { get; set; } + + public DomainConfigurationTlsConfigGetArgs() + { + } + public static new DomainConfigurationTlsConfigGetArgs Empty => new DomainConfigurationTlsConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationArgs.cs b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationArgs.cs index aaf59595bd1..65b8e60f2ac 100644 --- a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationArgs.cs +++ b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationArgs.cs @@ -30,6 +30,12 @@ public InputList? DeviceDefenderIndexingMode { get; set; } + /// + /// Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + /// + [Input("filter")] + public Input? Filter { get; set; } + [Input("managedFields")] private InputList? _managedFields; diff --git a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.cs b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.cs new file mode 100644 index 00000000000..20b4f13c927 --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.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.Iot.Inputs +{ + + public sealed class IndexingConfigurationThingIndexingConfigurationFilterArgs : global::Pulumi.ResourceArgs + { + [Input("namedShadowNames")] + private InputList? _namedShadowNames; + + /// + /// List of shadow names that you select to index. + /// + public InputList NamedShadowNames + { + get => _namedShadowNames ?? (_namedShadowNames = new InputList()); + set => _namedShadowNames = value; + } + + public IndexingConfigurationThingIndexingConfigurationFilterArgs() + { + } + public static new IndexingConfigurationThingIndexingConfigurationFilterArgs Empty => new IndexingConfigurationThingIndexingConfigurationFilterArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterGetArgs.cs b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterGetArgs.cs new file mode 100644 index 00000000000..9ae3c52eb9f --- /dev/null +++ b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationFilterGetArgs.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.Iot.Inputs +{ + + public sealed class IndexingConfigurationThingIndexingConfigurationFilterGetArgs : global::Pulumi.ResourceArgs + { + [Input("namedShadowNames")] + private InputList? _namedShadowNames; + + /// + /// List of shadow names that you select to index. + /// + public InputList NamedShadowNames + { + get => _namedShadowNames ?? (_namedShadowNames = new InputList()); + set => _namedShadowNames = value; + } + + public IndexingConfigurationThingIndexingConfigurationFilterGetArgs() + { + } + public static new IndexingConfigurationThingIndexingConfigurationFilterGetArgs Empty => new IndexingConfigurationThingIndexingConfigurationFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationGetArgs.cs b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationGetArgs.cs index 5e6ca814997..66ed906fa1a 100644 --- a/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationGetArgs.cs +++ b/sdk/dotnet/Iot/Inputs/IndexingConfigurationThingIndexingConfigurationGetArgs.cs @@ -30,6 +30,12 @@ public InputList? DeviceDefenderIndexingMode { get; set; } + /// + /// Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + /// + [Input("filter")] + public Input? Filter { get; set; } + [Input("managedFields")] private InputList? _managedFields; diff --git a/sdk/dotnet/Iot/Outputs/DomainConfigurationAuthorizerConfig.cs b/sdk/dotnet/Iot/Outputs/DomainConfigurationAuthorizerConfig.cs new file mode 100644 index 00000000000..f0176ac6c4e --- /dev/null +++ b/sdk/dotnet/Iot/Outputs/DomainConfigurationAuthorizerConfig.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.Iot.Outputs +{ + + [OutputType] + public sealed class DomainConfigurationAuthorizerConfig + { + /// + /// A Boolean that specifies whether the domain configuration's authorization service can be overridden. + /// + public readonly bool? AllowAuthorizerOverride; + /// + /// The name of the authorization service for a domain configuration. + /// + public readonly string? DefaultAuthorizerName; + + [OutputConstructor] + private DomainConfigurationAuthorizerConfig( + bool? allowAuthorizerOverride, + + string? defaultAuthorizerName) + { + AllowAuthorizerOverride = allowAuthorizerOverride; + DefaultAuthorizerName = defaultAuthorizerName; + } + } +} diff --git a/sdk/dotnet/Iot/Outputs/DomainConfigurationTlsConfig.cs b/sdk/dotnet/Iot/Outputs/DomainConfigurationTlsConfig.cs new file mode 100644 index 00000000000..b503fd96da6 --- /dev/null +++ b/sdk/dotnet/Iot/Outputs/DomainConfigurationTlsConfig.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.Iot.Outputs +{ + + [OutputType] + public sealed class DomainConfigurationTlsConfig + { + /// + /// The security policy for a domain configuration. + /// + public readonly string? SecurityPolicy; + + [OutputConstructor] + private DomainConfigurationTlsConfig(string? securityPolicy) + { + SecurityPolicy = securityPolicy; + } + } +} diff --git a/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfiguration.cs b/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfiguration.cs index 37e5562de51..d2a7595767f 100644 --- a/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfiguration.cs +++ b/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfiguration.cs @@ -22,6 +22,10 @@ public sealed class IndexingConfigurationThingIndexingConfiguration /// public readonly string? DeviceDefenderIndexingMode; /// + /// Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + /// + public readonly Outputs.IndexingConfigurationThingIndexingConfigurationFilter? Filter; + /// /// Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. /// public readonly ImmutableArray ManagedFields; @@ -44,6 +48,8 @@ private IndexingConfigurationThingIndexingConfiguration( string? deviceDefenderIndexingMode, + Outputs.IndexingConfigurationThingIndexingConfigurationFilter? filter, + ImmutableArray managedFields, string? namedShadowIndexingMode, @@ -54,6 +60,7 @@ private IndexingConfigurationThingIndexingConfiguration( { CustomFields = customFields; DeviceDefenderIndexingMode = deviceDefenderIndexingMode; + Filter = filter; ManagedFields = managedFields; NamedShadowIndexingMode = namedShadowIndexingMode; ThingConnectivityIndexingMode = thingConnectivityIndexingMode; diff --git a/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfigurationFilter.cs b/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfigurationFilter.cs new file mode 100644 index 00000000000..1c2c44428f9 --- /dev/null +++ b/sdk/dotnet/Iot/Outputs/IndexingConfigurationThingIndexingConfigurationFilter.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.Iot.Outputs +{ + + [OutputType] + public sealed class IndexingConfigurationThingIndexingConfigurationFilter + { + /// + /// List of shadow names that you select to index. + /// + public readonly ImmutableArray NamedShadowNames; + + [OutputConstructor] + private IndexingConfigurationThingIndexingConfigurationFilter(ImmutableArray namedShadowNames) + { + NamedShadowNames = namedShadowNames; + } + } +} diff --git a/sdk/dotnet/Iot/ProvisioningTemplate.cs b/sdk/dotnet/Iot/ProvisioningTemplate.cs index 9dd4b2a7788..cf52ae3788f 100644 --- a/sdk/dotnet/Iot/ProvisioningTemplate.cs +++ b/sdk/dotnet/Iot/ProvisioningTemplate.cs @@ -197,6 +197,12 @@ public partial class ProvisioningTemplate : global::Pulumi.CustomResource [Output("templateBody")] public Output TemplateBody { get; private set; } = null!; + /// + /// The type you define in a provisioning template. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + /// /// Create a ProvisioningTemplate resource with the given unique name, arguments, and options. @@ -295,6 +301,12 @@ public InputMap Tags [Input("templateBody", required: true)] public Input TemplateBody { get; set; } = null!; + /// + /// The type you define in a provisioning template. + /// + [Input("type")] + public Input? Type { get; set; } + public ProvisioningTemplateArgs() { } @@ -380,6 +392,12 @@ public InputMap TagsAll [Input("templateBody")] public Input? TemplateBody { get; set; } + /// + /// The type you define in a provisioning template. + /// + [Input("type")] + public Input? Type { get; set; } + public ProvisioningTemplateState() { } diff --git a/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateArgs.cs b/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateArgs.cs new file mode 100644 index 00000000000..2db934edf3e --- /dev/null +++ b/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateArgs.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.LB.Inputs +{ + + public sealed class TargetGroupTargetHealthStateArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + [Input("enableUnhealthyConnectionTermination", required: true)] + public Input EnableUnhealthyConnectionTermination { get; set; } = null!; + + public TargetGroupTargetHealthStateArgs() + { + } + public static new TargetGroupTargetHealthStateArgs Empty => new TargetGroupTargetHealthStateArgs(); + } +} diff --git a/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateGetArgs.cs b/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateGetArgs.cs new file mode 100644 index 00000000000..263cecbcd77 --- /dev/null +++ b/sdk/dotnet/LB/Inputs/TargetGroupTargetHealthStateGetArgs.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.LB.Inputs +{ + + public sealed class TargetGroupTargetHealthStateGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + [Input("enableUnhealthyConnectionTermination", required: true)] + public Input EnableUnhealthyConnectionTermination { get; set; } = null!; + + public TargetGroupTargetHealthStateGetArgs() + { + } + public static new TargetGroupTargetHealthStateGetArgs Empty => new TargetGroupTargetHealthStateGetArgs(); + } +} diff --git a/sdk/dotnet/LB/LoadBalancer.cs b/sdk/dotnet/LB/LoadBalancer.cs index fc4eea1aafa..a1c375620a4 100644 --- a/sdk/dotnet/LB/LoadBalancer.cs +++ b/sdk/dotnet/LB/LoadBalancer.cs @@ -187,6 +187,12 @@ public partial class LoadBalancer : global::Pulumi.CustomResource [Output("dnsName")] public Output DnsName { get; private set; } = null!; + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Output("dnsRecordClientRoutingPolicy")] + public Output DnsRecordClientRoutingPolicy { get; private set; } = null!; + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// @@ -265,7 +271,7 @@ public partial class LoadBalancer : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. @@ -392,6 +398,12 @@ public sealed class LoadBalancerArgs : global::Pulumi.ResourceArgs [Input("desyncMitigationMode")] public Input? DesyncMitigationMode { get; set; } + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Input("dnsRecordClientRoutingPolicy")] + public Input? DnsRecordClientRoutingPolicy { get; set; } + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// @@ -578,6 +590,12 @@ public sealed class LoadBalancerState : global::Pulumi.ResourceArgs [Input("dnsName")] public Input? DnsName { get; set; } + /// + /// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + /// + [Input("dnsRecordClientRoutingPolicy")] + public Input? DnsRecordClientRoutingPolicy { get; set; } + /// /// Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. /// diff --git a/sdk/dotnet/LB/Outputs/TargetGroupTargetHealthState.cs b/sdk/dotnet/LB/Outputs/TargetGroupTargetHealthState.cs new file mode 100644 index 00000000000..92b4ce338ef --- /dev/null +++ b/sdk/dotnet/LB/Outputs/TargetGroupTargetHealthState.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.LB.Outputs +{ + + [OutputType] + public sealed class TargetGroupTargetHealthState + { + /// + /// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + /// + public readonly bool EnableUnhealthyConnectionTermination; + + [OutputConstructor] + private TargetGroupTargetHealthState(bool enableUnhealthyConnectionTermination) + { + EnableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + } + } +} diff --git a/sdk/dotnet/LB/TargetGroup.cs b/sdk/dotnet/LB/TargetGroup.cs index 373daea2c73..e4c99576218 100644 --- a/sdk/dotnet/LB/TargetGroup.cs +++ b/sdk/dotnet/LB/TargetGroup.cs @@ -101,6 +101,32 @@ namespace Pulumi.Aws.LB /// /// }); /// ``` + /// ### Target group with unhealthy connection termination disabled + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var tcp_example = new Aws.LB.TargetGroup("tcp-example", new() + /// { + /// Port = 25, + /// Protocol = "TCP", + /// VpcId = aws_vpc.Main.Id, + /// TargetHealthStates = new[] + /// { + /// new Aws.LB.Inputs.TargetGroupTargetHealthStateArgs + /// { + /// EnableUnhealthyConnectionTermination = false, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` /// /// ## Import /// @@ -129,7 +155,7 @@ public partial class TargetGroup : global::Pulumi.CustomResource /// Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. /// [Output("connectionTermination")] - public Output ConnectionTermination { get; private set; } = null!; + public Output ConnectionTermination { get; private set; } = null!; /// /// Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -177,7 +203,7 @@ public partial class TargetGroup : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Port on which targets receive traffic, unless overridden when registering a specific target. Required when `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`. @@ -239,6 +265,12 @@ public partial class TargetGroup : global::Pulumi.CustomResource [Output("targetFailovers")] public Output> TargetFailovers { get; private set; } = null!; + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + [Output("targetHealthStates")] + public Output> TargetHealthStates { get; private set; } = null!; + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// @@ -433,6 +465,18 @@ public InputList TargetFailovers set => _targetFailovers = value; } + [Input("targetHealthStates")] + private InputList? _targetHealthStates; + + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + public InputList TargetHealthStates + { + get => _targetHealthStates ?? (_targetHealthStates = new InputList()); + set => _targetHealthStates = value; + } + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// @@ -610,6 +654,18 @@ public InputList TargetFailovers set => _targetFailovers = value; } + [Input("targetHealthStates")] + private InputList? _targetHealthStates; + + /// + /// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + /// + public InputList TargetHealthStates + { + get => _targetHealthStates ?? (_targetHealthStates = new InputList()); + set => _targetHealthStates = value; + } + /// /// Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. /// diff --git a/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigArgs.cs index 8a228f070eb..1bc2cc4e74c 100644 --- a/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigArgs.cs +++ b/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.Lambda.Inputs public sealed class FunctionVpcConfigArgs : global::Pulumi.ResourceArgs { + /// + /// Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + /// + [Input("ipv6AllowedForDualStack")] + public Input? Ipv6AllowedForDualStack { get; set; } + [Input("securityGroupIds", required: true)] private InputList? _securityGroupIds; diff --git a/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigGetArgs.cs b/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigGetArgs.cs index 0d26451ebda..c60b057384d 100644 --- a/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigGetArgs.cs +++ b/sdk/dotnet/Lambda/Inputs/FunctionVpcConfigGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.Lambda.Inputs public sealed class FunctionVpcConfigGetArgs : global::Pulumi.ResourceArgs { + /// + /// Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + /// + [Input("ipv6AllowedForDualStack")] + public Input? Ipv6AllowedForDualStack { get; set; } + [Input("securityGroupIds", required: true)] private InputList? _securityGroupIds; diff --git a/sdk/dotnet/Lambda/Outputs/FunctionVpcConfig.cs b/sdk/dotnet/Lambda/Outputs/FunctionVpcConfig.cs index 64ffa4cf792..4ffbd5d776c 100644 --- a/sdk/dotnet/Lambda/Outputs/FunctionVpcConfig.cs +++ b/sdk/dotnet/Lambda/Outputs/FunctionVpcConfig.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.Lambda.Outputs [OutputType] public sealed class FunctionVpcConfig { + /// + /// Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + /// + public readonly bool? Ipv6AllowedForDualStack; /// /// List of security group IDs associated with the Lambda function. /// @@ -25,12 +29,15 @@ public sealed class FunctionVpcConfig [OutputConstructor] private FunctionVpcConfig( + bool? ipv6AllowedForDualStack, + ImmutableArray securityGroupIds, ImmutableArray subnetIds, string? vpcId) { + Ipv6AllowedForDualStack = ipv6AllowedForDualStack; SecurityGroupIds = securityGroupIds; SubnetIds = subnetIds; VpcId = vpcId; diff --git a/sdk/dotnet/LightSail/KeyPair.cs b/sdk/dotnet/LightSail/KeyPair.cs index 4b52330e8ae..5d12a353f62 100644 --- a/sdk/dotnet/LightSail/KeyPair.cs +++ b/sdk/dotnet/LightSail/KeyPair.cs @@ -106,7 +106,7 @@ public partial class KeyPair : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// An optional PGP key to encrypt the resulting private key material. Only used when creating a new key pair diff --git a/sdk/dotnet/MediaConvert/GetQueue.cs b/sdk/dotnet/MediaConvert/GetQueue.cs new file mode 100644 index 00000000000..1d7edf20c24 --- /dev/null +++ b/sdk/dotnet/MediaConvert/GetQueue.cs @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.MediaConvert +{ + public static class GetQueue + { + /// + /// Retrieve information about a AWS Elemental MediaConvert Queue. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.MediaConvert.GetQueue.Invoke(new() + /// { + /// Id = "tf-example-queue", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetQueueArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:mediaconvert/getQueue:getQueue", args ?? new GetQueueArgs(), options.WithDefaults()); + + /// + /// Retrieve information about a AWS Elemental MediaConvert Queue. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.MediaConvert.GetQueue.Invoke(new() + /// { + /// Id = "tf-example-queue", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetQueueInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:mediaconvert/getQueue:getQueue", args ?? new GetQueueInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetQueueArgs : global::Pulumi.InvokeArgs + { + /// + /// Unique identifier of the queue. The same as `name`. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetQueueArgs() + { + } + public static new GetQueueArgs Empty => new GetQueueArgs(); + } + + public sealed class GetQueueInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Unique identifier of the queue. The same as `name`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetQueueInvokeArgs() + { + } + public static new GetQueueInvokeArgs Empty => new GetQueueInvokeArgs(); + } + + + [OutputType] + public sealed class GetQueueResult + { + /// + /// The Arn of the queue. + /// + public readonly string Arn; + public readonly string Id; + /// + /// The same as `id`. + /// + public readonly string Name; + /// + /// The status of the queue. + /// + public readonly string Status; + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetQueueResult( + string arn, + + string id, + + string name, + + string status, + + ImmutableDictionary tags) + { + Arn = arn; + Id = id; + Name = name; + Status = status; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.cs new file mode 100644 index 00000000000..76f8d2f7110 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterAmazonMskClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of an Amazon MSK cluster. + /// + [Input("mskClusterArn", required: true)] + public Input MskClusterArn { get; set; } = null!; + + public ReplicatorKafkaClusterAmazonMskClusterArgs() + { + } + public static new ReplicatorKafkaClusterAmazonMskClusterArgs Empty => new ReplicatorKafkaClusterAmazonMskClusterArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterGetArgs.cs new file mode 100644 index 00000000000..9a0f3ecfce0 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterAmazonMskClusterGetArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterAmazonMskClusterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of an Amazon MSK cluster. + /// + [Input("mskClusterArn", required: true)] + public Input MskClusterArn { get; set; } = null!; + + public ReplicatorKafkaClusterAmazonMskClusterGetArgs() + { + } + public static new ReplicatorKafkaClusterAmazonMskClusterGetArgs Empty => new ReplicatorKafkaClusterAmazonMskClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterArgs.cs new file mode 100644 index 00000000000..ae3def7b5fc --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// Details of an Amazon MSK cluster. + /// + [Input("amazonMskCluster", required: true)] + public Input AmazonMskCluster { get; set; } = null!; + + /// + /// Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + /// + [Input("vpcConfig", required: true)] + public Input VpcConfig { get; set; } = null!; + + public ReplicatorKafkaClusterArgs() + { + } + public static new ReplicatorKafkaClusterArgs Empty => new ReplicatorKafkaClusterArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterGetArgs.cs new file mode 100644 index 00000000000..3839155b0b0 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterGetArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Details of an Amazon MSK cluster. + /// + [Input("amazonMskCluster", required: true)] + public Input AmazonMskCluster { get; set; } = null!; + + /// + /// Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + /// + [Input("vpcConfig", required: true)] + public Input VpcConfig { get; set; } = null!; + + public ReplicatorKafkaClusterGetArgs() + { + } + public static new ReplicatorKafkaClusterGetArgs Empty => new ReplicatorKafkaClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigArgs.cs new file mode 100644 index 00000000000..3fcdb78c844 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterVpcConfigArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupsIds")] + private InputList? _securityGroupsIds; + + /// + /// The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + /// + public InputList SecurityGroupsIds + { + get => _securityGroupsIds ?? (_securityGroupsIds = new InputList()); + set => _securityGroupsIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + public ReplicatorKafkaClusterVpcConfigArgs() + { + } + public static new ReplicatorKafkaClusterVpcConfigArgs Empty => new ReplicatorKafkaClusterVpcConfigArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigGetArgs.cs new file mode 100644 index 00000000000..894df965d8e --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorKafkaClusterVpcConfigGetArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorKafkaClusterVpcConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupsIds")] + private InputList? _securityGroupsIds; + + /// + /// The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + /// + public InputList SecurityGroupsIds + { + get => _securityGroupsIds ?? (_securityGroupsIds = new InputList()); + set => _securityGroupsIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + public ReplicatorKafkaClusterVpcConfigGetArgs() + { + } + public static new ReplicatorKafkaClusterVpcConfigGetArgs Empty => new ReplicatorKafkaClusterVpcConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListArgs.cs new file mode 100644 index 00000000000..9f8b0dc9714 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListArgs : global::Pulumi.ResourceArgs + { + [Input("consumerGroupReplications", required: true)] + private InputList? _consumerGroupReplications; + + /// + /// Confguration relating to consumer group replication. + /// + public InputList ConsumerGroupReplications + { + get => _consumerGroupReplications ?? (_consumerGroupReplications = new InputList()); + set => _consumerGroupReplications = value; + } + + [Input("sourceKafkaClusterAlias")] + public Input? SourceKafkaClusterAlias { get; set; } + + /// + /// The ARN of the source Kafka cluster. + /// + [Input("sourceKafkaClusterArn", required: true)] + public Input SourceKafkaClusterArn { get; set; } = null!; + + /// + /// The type of compression to use writing records to target Kafka cluster. + /// + [Input("targetCompressionType", required: true)] + public Input TargetCompressionType { get; set; } = null!; + + [Input("targetKafkaClusterAlias")] + public Input? TargetKafkaClusterAlias { get; set; } + + /// + /// The ARN of the target Kafka cluster. + /// + [Input("targetKafkaClusterArn", required: true)] + public Input TargetKafkaClusterArn { get; set; } = null!; + + [Input("topicReplications", required: true)] + private InputList? _topicReplications; + + /// + /// Configuration relating to topic replication. + /// + public InputList TopicReplications + { + get => _topicReplications ?? (_topicReplications = new InputList()); + set => _topicReplications = value; + } + + public ReplicatorReplicationInfoListArgs() + { + } + public static new ReplicatorReplicationInfoListArgs Empty => new ReplicatorReplicationInfoListArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.cs new file mode 100644 index 00000000000..ea3eed640f6 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListConsumerGroupReplicationArgs : global::Pulumi.ResourceArgs + { + [Input("consumerGroupsToExcludes")] + private InputList? _consumerGroupsToExcludes; + + /// + /// List of regular expression patterns indicating the consumer groups that should not be replicated. + /// + public InputList ConsumerGroupsToExcludes + { + get => _consumerGroupsToExcludes ?? (_consumerGroupsToExcludes = new InputList()); + set => _consumerGroupsToExcludes = value; + } + + [Input("consumerGroupsToReplicates", required: true)] + private InputList? _consumerGroupsToReplicates; + + /// + /// List of regular expression patterns indicating the consumer groups to copy. + /// + public InputList ConsumerGroupsToReplicates + { + get => _consumerGroupsToReplicates ?? (_consumerGroupsToReplicates = new InputList()); + set => _consumerGroupsToReplicates = value; + } + + /// + /// Whether to periodically check for new consumer groups. + /// + [Input("detectAndCopyNewConsumerGroups")] + public Input? DetectAndCopyNewConsumerGroups { get; set; } + + /// + /// Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + /// + [Input("synchroniseConsumerGroupOffsets")] + public Input? SynchroniseConsumerGroupOffsets { get; set; } + + public ReplicatorReplicationInfoListConsumerGroupReplicationArgs() + { + } + public static new ReplicatorReplicationInfoListConsumerGroupReplicationArgs Empty => new ReplicatorReplicationInfoListConsumerGroupReplicationArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs.cs new file mode 100644 index 00000000000..8624d24895f --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs : global::Pulumi.ResourceArgs + { + [Input("consumerGroupsToExcludes")] + private InputList? _consumerGroupsToExcludes; + + /// + /// List of regular expression patterns indicating the consumer groups that should not be replicated. + /// + public InputList ConsumerGroupsToExcludes + { + get => _consumerGroupsToExcludes ?? (_consumerGroupsToExcludes = new InputList()); + set => _consumerGroupsToExcludes = value; + } + + [Input("consumerGroupsToReplicates", required: true)] + private InputList? _consumerGroupsToReplicates; + + /// + /// List of regular expression patterns indicating the consumer groups to copy. + /// + public InputList ConsumerGroupsToReplicates + { + get => _consumerGroupsToReplicates ?? (_consumerGroupsToReplicates = new InputList()); + set => _consumerGroupsToReplicates = value; + } + + /// + /// Whether to periodically check for new consumer groups. + /// + [Input("detectAndCopyNewConsumerGroups")] + public Input? DetectAndCopyNewConsumerGroups { get; set; } + + /// + /// Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + /// + [Input("synchroniseConsumerGroupOffsets")] + public Input? SynchroniseConsumerGroupOffsets { get; set; } + + public ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs() + { + } + public static new ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs Empty => new ReplicatorReplicationInfoListConsumerGroupReplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListGetArgs.cs new file mode 100644 index 00000000000..8cc88c12f87 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListGetArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListGetArgs : global::Pulumi.ResourceArgs + { + [Input("consumerGroupReplications", required: true)] + private InputList? _consumerGroupReplications; + + /// + /// Confguration relating to consumer group replication. + /// + public InputList ConsumerGroupReplications + { + get => _consumerGroupReplications ?? (_consumerGroupReplications = new InputList()); + set => _consumerGroupReplications = value; + } + + [Input("sourceKafkaClusterAlias")] + public Input? SourceKafkaClusterAlias { get; set; } + + /// + /// The ARN of the source Kafka cluster. + /// + [Input("sourceKafkaClusterArn", required: true)] + public Input SourceKafkaClusterArn { get; set; } = null!; + + /// + /// The type of compression to use writing records to target Kafka cluster. + /// + [Input("targetCompressionType", required: true)] + public Input TargetCompressionType { get; set; } = null!; + + [Input("targetKafkaClusterAlias")] + public Input? TargetKafkaClusterAlias { get; set; } + + /// + /// The ARN of the target Kafka cluster. + /// + [Input("targetKafkaClusterArn", required: true)] + public Input TargetKafkaClusterArn { get; set; } = null!; + + [Input("topicReplications", required: true)] + private InputList? _topicReplications; + + /// + /// Configuration relating to topic replication. + /// + public InputList TopicReplications + { + get => _topicReplications ?? (_topicReplications = new InputList()); + set => _topicReplications = value; + } + + public ReplicatorReplicationInfoListGetArgs() + { + } + public static new ReplicatorReplicationInfoListGetArgs Empty => new ReplicatorReplicationInfoListGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs new file mode 100644 index 00000000000..8c62991746a --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListTopicReplicationArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + /// + [Input("copyAccessControlListsForTopics")] + public Input? CopyAccessControlListsForTopics { get; set; } + + /// + /// Whether to periodically configure remote topics to match their corresponding upstream topics. + /// + [Input("copyTopicConfigurations")] + public Input? CopyTopicConfigurations { get; set; } + + /// + /// Whether to periodically check for new topics and partitions. + /// + [Input("detectAndCopyNewTopics")] + public Input? DetectAndCopyNewTopics { get; set; } + + [Input("topicsToExcludes")] + private InputList? _topicsToExcludes; + + /// + /// List of regular expression patterns indicating the topics that should not be replica. + /// + public InputList TopicsToExcludes + { + get => _topicsToExcludes ?? (_topicsToExcludes = new InputList()); + set => _topicsToExcludes = value; + } + + [Input("topicsToReplicates", required: true)] + private InputList? _topicsToReplicates; + + /// + /// List of regular expression patterns indicating the topics to copy. + /// + public InputList TopicsToReplicates + { + get => _topicsToReplicates ?? (_topicsToReplicates = new InputList()); + set => _topicsToReplicates = value; + } + + public ReplicatorReplicationInfoListTopicReplicationArgs() + { + } + public static new ReplicatorReplicationInfoListTopicReplicationArgs Empty => new ReplicatorReplicationInfoListTopicReplicationArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs new file mode 100644 index 00000000000..502492f66d9 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListTopicReplicationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + /// + [Input("copyAccessControlListsForTopics")] + public Input? CopyAccessControlListsForTopics { get; set; } + + /// + /// Whether to periodically configure remote topics to match their corresponding upstream topics. + /// + [Input("copyTopicConfigurations")] + public Input? CopyTopicConfigurations { get; set; } + + /// + /// Whether to periodically check for new topics and partitions. + /// + [Input("detectAndCopyNewTopics")] + public Input? DetectAndCopyNewTopics { get; set; } + + [Input("topicsToExcludes")] + private InputList? _topicsToExcludes; + + /// + /// List of regular expression patterns indicating the topics that should not be replica. + /// + public InputList TopicsToExcludes + { + get => _topicsToExcludes ?? (_topicsToExcludes = new InputList()); + set => _topicsToExcludes = value; + } + + [Input("topicsToReplicates", required: true)] + private InputList? _topicsToReplicates; + + /// + /// List of regular expression patterns indicating the topics to copy. + /// + public InputList TopicsToReplicates + { + get => _topicsToReplicates ?? (_topicsToReplicates = new InputList()); + set => _topicsToReplicates = value; + } + + public ReplicatorReplicationInfoListTopicReplicationGetArgs() + { + } + public static new ReplicatorReplicationInfoListTopicReplicationGetArgs Empty => new ReplicatorReplicationInfoListTopicReplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorKafkaCluster.cs b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaCluster.cs new file mode 100644 index 00000000000..e1fce9671a1 --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaCluster.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorKafkaCluster + { + /// + /// Details of an Amazon MSK cluster. + /// + public readonly Outputs.ReplicatorKafkaClusterAmazonMskCluster AmazonMskCluster; + /// + /// Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + /// + public readonly Outputs.ReplicatorKafkaClusterVpcConfig VpcConfig; + + [OutputConstructor] + private ReplicatorKafkaCluster( + Outputs.ReplicatorKafkaClusterAmazonMskCluster amazonMskCluster, + + Outputs.ReplicatorKafkaClusterVpcConfig vpcConfig) + { + AmazonMskCluster = amazonMskCluster; + VpcConfig = vpcConfig; + } + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterAmazonMskCluster.cs b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterAmazonMskCluster.cs new file mode 100644 index 00000000000..69dbf64ca8f --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterAmazonMskCluster.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorKafkaClusterAmazonMskCluster + { + /// + /// The ARN of an Amazon MSK cluster. + /// + public readonly string MskClusterArn; + + [OutputConstructor] + private ReplicatorKafkaClusterAmazonMskCluster(string mskClusterArn) + { + MskClusterArn = mskClusterArn; + } + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterVpcConfig.cs b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterVpcConfig.cs new file mode 100644 index 00000000000..ac0a1a006ad --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorKafkaClusterVpcConfig.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorKafkaClusterVpcConfig + { + /// + /// The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + /// + public readonly ImmutableArray SecurityGroupsIds; + /// + /// The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + /// + public readonly ImmutableArray SubnetIds; + + [OutputConstructor] + private ReplicatorKafkaClusterVpcConfig( + ImmutableArray securityGroupsIds, + + ImmutableArray subnetIds) + { + SecurityGroupsIds = securityGroupsIds; + SubnetIds = subnetIds; + } + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoList.cs b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoList.cs new file mode 100644 index 00000000000..623c450e820 --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoList.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorReplicationInfoList + { + /// + /// Confguration relating to consumer group replication. + /// + public readonly ImmutableArray ConsumerGroupReplications; + public readonly string? SourceKafkaClusterAlias; + /// + /// The ARN of the source Kafka cluster. + /// + public readonly string SourceKafkaClusterArn; + /// + /// The type of compression to use writing records to target Kafka cluster. + /// + public readonly string TargetCompressionType; + public readonly string? TargetKafkaClusterAlias; + /// + /// The ARN of the target Kafka cluster. + /// + public readonly string TargetKafkaClusterArn; + /// + /// Configuration relating to topic replication. + /// + public readonly ImmutableArray TopicReplications; + + [OutputConstructor] + private ReplicatorReplicationInfoList( + ImmutableArray consumerGroupReplications, + + string? sourceKafkaClusterAlias, + + string sourceKafkaClusterArn, + + string targetCompressionType, + + string? targetKafkaClusterAlias, + + string targetKafkaClusterArn, + + ImmutableArray topicReplications) + { + ConsumerGroupReplications = consumerGroupReplications; + SourceKafkaClusterAlias = sourceKafkaClusterAlias; + SourceKafkaClusterArn = sourceKafkaClusterArn; + TargetCompressionType = targetCompressionType; + TargetKafkaClusterAlias = targetKafkaClusterAlias; + TargetKafkaClusterArn = targetKafkaClusterArn; + TopicReplications = topicReplications; + } + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListConsumerGroupReplication.cs b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListConsumerGroupReplication.cs new file mode 100644 index 00000000000..a25c536d8ed --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListConsumerGroupReplication.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorReplicationInfoListConsumerGroupReplication + { + /// + /// List of regular expression patterns indicating the consumer groups that should not be replicated. + /// + public readonly ImmutableArray ConsumerGroupsToExcludes; + /// + /// List of regular expression patterns indicating the consumer groups to copy. + /// + public readonly ImmutableArray ConsumerGroupsToReplicates; + /// + /// Whether to periodically check for new consumer groups. + /// + public readonly bool? DetectAndCopyNewConsumerGroups; + /// + /// Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + /// + public readonly bool? SynchroniseConsumerGroupOffsets; + + [OutputConstructor] + private ReplicatorReplicationInfoListConsumerGroupReplication( + ImmutableArray consumerGroupsToExcludes, + + ImmutableArray consumerGroupsToReplicates, + + bool? detectAndCopyNewConsumerGroups, + + bool? synchroniseConsumerGroupOffsets) + { + ConsumerGroupsToExcludes = consumerGroupsToExcludes; + ConsumerGroupsToReplicates = consumerGroupsToReplicates; + DetectAndCopyNewConsumerGroups = detectAndCopyNewConsumerGroups; + SynchroniseConsumerGroupOffsets = synchroniseConsumerGroupOffsets; + } + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs new file mode 100644 index 00000000000..c83156028f1 --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorReplicationInfoListTopicReplication + { + /// + /// Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + /// + public readonly bool? CopyAccessControlListsForTopics; + /// + /// Whether to periodically configure remote topics to match their corresponding upstream topics. + /// + public readonly bool? CopyTopicConfigurations; + /// + /// Whether to periodically check for new topics and partitions. + /// + public readonly bool? DetectAndCopyNewTopics; + /// + /// List of regular expression patterns indicating the topics that should not be replica. + /// + public readonly ImmutableArray TopicsToExcludes; + /// + /// List of regular expression patterns indicating the topics to copy. + /// + public readonly ImmutableArray TopicsToReplicates; + + [OutputConstructor] + private ReplicatorReplicationInfoListTopicReplication( + bool? copyAccessControlListsForTopics, + + bool? copyTopicConfigurations, + + bool? detectAndCopyNewTopics, + + ImmutableArray topicsToExcludes, + + ImmutableArray topicsToReplicates) + { + CopyAccessControlListsForTopics = copyAccessControlListsForTopics; + CopyTopicConfigurations = copyTopicConfigurations; + DetectAndCopyNewTopics = detectAndCopyNewTopics; + TopicsToExcludes = topicsToExcludes; + TopicsToReplicates = topicsToReplicates; + } + } +} diff --git a/sdk/dotnet/Msk/Replicator.cs b/sdk/dotnet/Msk/Replicator.cs new file mode 100644 index 00000000000..d30ba50597f --- /dev/null +++ b/sdk/dotnet/Msk/Replicator.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.Msk +{ + /// + /// Resource for managing an AWS Managed Streaming for Kafka Replicator. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// Using `pulumi import`, import MSK replicators using the replicator ARN. For example: + /// + /// ```sh + /// $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 + /// ``` + /// + [AwsResourceType("aws:msk/replicator:Replicator")] + public partial class Replicator : global::Pulumi.CustomResource + { + /// + /// ARN of the Replicator. 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("currentVersion")] + public Output CurrentVersion { get; private set; } = null!; + + /// + /// A summary description of the replicator. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// A list of Kafka clusters which are targets of the replicator. + /// + [Output("kafkaClusters")] + public Output> KafkaClusters { get; private set; } = null!; + + /// + /// A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + /// + [Output("replicationInfoList")] + public Output ReplicationInfoList { get; private set; } = null!; + + /// + /// The name of the replicator. + /// + [Output("replicatorName")] + public Output ReplicatorName { get; private set; } = null!; + + /// + /// The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + /// + [Output("serviceExecutionRoleArn")] + public Output ServiceExecutionRoleArn { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a Replicator 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 Replicator(string name, ReplicatorArgs args, CustomResourceOptions? options = null) + : base("aws:msk/replicator:Replicator", name, args ?? new ReplicatorArgs(), MakeResourceOptions(options, "")) + { + } + + private Replicator(string name, Input id, ReplicatorState? state = null, CustomResourceOptions? options = null) + : base("aws:msk/replicator:Replicator", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "tagsAll", + }, + }; + 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 Replicator 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 Replicator Get(string name, Input id, ReplicatorState? state = null, CustomResourceOptions? options = null) + { + return new Replicator(name, id, state, options); + } + } + + public sealed class ReplicatorArgs : global::Pulumi.ResourceArgs + { + /// + /// A summary description of the replicator. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("kafkaClusters", required: true)] + private InputList? _kafkaClusters; + + /// + /// A list of Kafka clusters which are targets of the replicator. + /// + public InputList KafkaClusters + { + get => _kafkaClusters ?? (_kafkaClusters = new InputList()); + set => _kafkaClusters = value; + } + + /// + /// A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + /// + [Input("replicationInfoList", required: true)] + public Input ReplicationInfoList { get; set; } = null!; + + /// + /// The name of the replicator. + /// + [Input("replicatorName", required: true)] + public Input ReplicatorName { get; set; } = null!; + + /// + /// The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + /// + [Input("serviceExecutionRoleArn", required: true)] + public Input ServiceExecutionRoleArn { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ReplicatorArgs() + { + } + public static new ReplicatorArgs Empty => new ReplicatorArgs(); + } + + public sealed class ReplicatorState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Replicator. 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("currentVersion")] + public Input? CurrentVersion { get; set; } + + /// + /// A summary description of the replicator. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("kafkaClusters")] + private InputList? _kafkaClusters; + + /// + /// A list of Kafka clusters which are targets of the replicator. + /// + public InputList KafkaClusters + { + get => _kafkaClusters ?? (_kafkaClusters = new InputList()); + set => _kafkaClusters = value; + } + + /// + /// A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + /// + [Input("replicationInfoList")] + public Input? ReplicationInfoList { get; set; } + + /// + /// The name of the replicator. + /// + [Input("replicatorName")] + public Input? ReplicatorName { get; set; } + + /// + /// The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + /// + [Input("serviceExecutionRoleArn")] + public Input? ServiceExecutionRoleArn { 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 + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _tagsAll = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + public ReplicatorState() + { + } + public static new ReplicatorState Empty => new ReplicatorState(); + } +} diff --git a/sdk/dotnet/Neptune/Cluster.cs b/sdk/dotnet/Neptune/Cluster.cs index e6a5e3851f0..33f92936a2d 100644 --- a/sdk/dotnet/Neptune/Cluster.cs +++ b/sdk/dotnet/Neptune/Cluster.cs @@ -125,7 +125,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output DeletionProtection { get; private set; } = null!; /// - /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. /// [Output("enableCloudwatchLogsExports")] public Output> EnableCloudwatchLogsExports { get; private set; } = null!; @@ -382,7 +382,7 @@ public InputList AvailabilityZones private InputList? _enableCloudwatchLogsExports; /// - /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. /// public InputList EnableCloudwatchLogsExports { @@ -618,7 +618,7 @@ public InputList ClusterMembers private InputList? _enableCloudwatchLogsExports; /// - /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + /// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. /// public InputList EnableCloudwatchLogsExports { diff --git a/sdk/dotnet/Neptune/ClusterInstance.cs b/sdk/dotnet/Neptune/ClusterInstance.cs index f8fc0ad6ea7..37516fecd87 100644 --- a/sdk/dotnet/Neptune/ClusterInstance.cs +++ b/sdk/dotnet/Neptune/ClusterInstance.cs @@ -120,7 +120,7 @@ public partial class ClusterInstance : global::Pulumi.CustomResource public Output Engine { get; private set; } = null!; /// - /// The neptune engine version. + /// The neptune engine version. Currently configuring this argumnet has no effect. /// [Output("engineVersion")] public Output EngineVersion { get; private set; } = null!; @@ -298,7 +298,7 @@ public sealed class ClusterInstanceArgs : global::Pulumi.ResourceArgs public Input? Engine { get; set; } /// - /// The neptune engine version. + /// The neptune engine version. Currently configuring this argumnet has no effect. /// [Input("engineVersion")] public Input? EngineVersion { get; set; } @@ -440,7 +440,7 @@ public sealed class ClusterInstanceState : global::Pulumi.ResourceArgs public Input? Engine { get; set; } /// - /// The neptune engine version. + /// The neptune engine version. Currently configuring this argumnet has no effect. /// [Input("engineVersion")] public Input? EngineVersion { get; set; } diff --git a/sdk/dotnet/OpenSearch/DomainPolicy.cs b/sdk/dotnet/OpenSearch/DomainPolicy.cs index f30d7c853a0..aafce6f7764 100644 --- a/sdk/dotnet/OpenSearch/DomainPolicy.cs +++ b/sdk/dotnet/OpenSearch/DomainPolicy.cs @@ -11,6 +11,72 @@ namespace Pulumi.Aws.OpenSearch { /// /// Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.OpenSearch.Domain("example", new() + /// { + /// EngineVersion = "OpenSearch_1.1", + /// }); + /// + /// var mainPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Effect = "Allow", + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Type = "*", + /// Identifiers = new[] + /// { + /// "*", + /// }, + /// }, + /// }, + /// Actions = new[] + /// { + /// "es:*", + /// }, + /// Resources = new[] + /// { + /// $"{example.Arn}/*", + /// }, + /// Conditions = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// { + /// Test = "IpAddress", + /// Variable = "aws:SourceIp", + /// Values = new[] + /// { + /// "127.0.0.1/32", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// var mainDomainPolicy = new Aws.OpenSearch.DomainPolicy("mainDomainPolicy", new() + /// { + /// DomainName = example.DomainName, + /// AccessPolicies = mainPolicyDocument.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// }); + /// + /// }); + /// ``` /// [AwsResourceType("aws:opensearch/domainPolicy:DomainPolicy")] public partial class DomainPolicy : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/App.cs b/sdk/dotnet/Pinpoint/App.cs index 22b77a91fd1..42fd0469fe3 100644 --- a/sdk/dotnet/Pinpoint/App.cs +++ b/sdk/dotnet/Pinpoint/App.cs @@ -83,7 +83,7 @@ public partial class App : global::Pulumi.CustomResource /// The name of the Pinpoint application. Conflicts with `name` /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs index 8cee6b1e23f..50ef72957fb 100644 --- a/sdk/dotnet/Rds/Cluster.cs +++ b/sdk/dotnet/Rds/Cluster.cs @@ -313,7 +313,7 @@ namespace Pulumi.Aws.Rds public partial class Cluster : global::Pulumi.CustomResource { /// - /// (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + /// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. /// [Output("allocatedStorage")] public Output AllocatedStorage { get; private set; } = null!; @@ -337,7 +337,10 @@ public partial class Cluster : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + /// RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + /// We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + /// A maximum of 3 AZs can be configured. /// [Output("availabilityZones")] public Output> AvailabilityZones { get; private set; } = null!; @@ -391,7 +394,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output DatabaseName { get; private set; } = null!; /// - /// (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + /// The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. /// [Output("dbClusterInstanceClass")] public Output DbClusterInstanceClass { get; private set; } = null!; @@ -409,7 +412,8 @@ public partial class Cluster : global::Pulumi.CustomResource public Output DbInstanceParameterGroupName { get; private set; } = null!; /// - /// DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + /// DB subnet group to associate with this DB cluster. + /// **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. /// [Output("dbSubnetGroupName")] public Output DbSubnetGroupName { get; private set; } = null!; @@ -421,7 +425,9 @@ public partial class Cluster : global::Pulumi.CustomResource public Output DbSystemId { get; private set; } = null!; /// - /// 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`. + /// If the DB cluster should have deletion protection enabled. + /// The database can't be deleted when this value is set to `true`. + /// The default is `false`. /// [Output("deletionProtection")] public Output DeletionProtection { get; private set; } = null!; @@ -629,7 +635,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output StorageEncrypted { get; private set; } = null!; /// - /// (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + /// (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). /// [Output("storageType")] public Output StorageType { get; private set; } = null!; @@ -704,7 +710,7 @@ public static Cluster Get(string name, Input id, ClusterState? state = n public sealed class ClusterArgs : global::Pulumi.ResourceArgs { /// - /// (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + /// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. /// [Input("allocatedStorage")] public Input? AllocatedStorage { get; set; } @@ -725,7 +731,10 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs private InputList? _availabilityZones; /// - /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + /// RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + /// We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + /// A maximum of 3 AZs can be configured. /// public InputList AvailabilityZones { @@ -782,7 +791,7 @@ public InputList ClusterMembers public Input? DatabaseName { get; set; } /// - /// (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + /// The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. /// [Input("dbClusterInstanceClass")] public Input? DbClusterInstanceClass { get; set; } @@ -800,7 +809,8 @@ public InputList ClusterMembers public Input? DbInstanceParameterGroupName { get; set; } /// - /// DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + /// DB subnet group to associate with this DB cluster. + /// **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. /// [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } @@ -812,7 +822,9 @@ public InputList ClusterMembers public Input? DbSystemId { get; set; } /// - /// 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`. + /// If the DB cluster should have deletion protection enabled. + /// The database can't be deleted when this value is set to `true`. + /// The default is `false`. /// [Input("deletionProtection")] public Input? DeletionProtection { get; set; } @@ -1011,7 +1023,7 @@ public Input? MasterPassword public Input? StorageEncrypted { get; set; } /// - /// (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + /// (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). /// [Input("storageType")] public Input? StorageType { get; set; } @@ -1049,7 +1061,7 @@ public ClusterArgs() public sealed class ClusterState : global::Pulumi.ResourceArgs { /// - /// (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + /// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. /// [Input("allocatedStorage")] public Input? AllocatedStorage { get; set; } @@ -1076,7 +1088,10 @@ public sealed class ClusterState : global::Pulumi.ResourceArgs private InputList? _availabilityZones; /// - /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + /// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + /// RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + /// We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + /// A maximum of 3 AZs can be configured. /// public InputList AvailabilityZones { @@ -1139,7 +1154,7 @@ public InputList ClusterMembers public Input? DatabaseName { get; set; } /// - /// (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + /// The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. /// [Input("dbClusterInstanceClass")] public Input? DbClusterInstanceClass { get; set; } @@ -1157,7 +1172,8 @@ public InputList ClusterMembers public Input? DbInstanceParameterGroupName { get; set; } /// - /// DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + /// DB subnet group to associate with this DB cluster. + /// **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. /// [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } @@ -1169,7 +1185,9 @@ public InputList ClusterMembers public Input? DbSystemId { get; set; } /// - /// 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`. + /// If the DB cluster should have deletion protection enabled. + /// The database can't be deleted when this value is set to `true`. + /// The default is `false`. /// [Input("deletionProtection")] public Input? DeletionProtection { get; set; } @@ -1405,7 +1423,7 @@ public InputList MasterUserSecrets public Input? StorageEncrypted { get; set; } /// - /// (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + /// (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). /// [Input("storageType")] public Input? StorageType { get; set; } diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index f804ce53ab5..7643ed0b41f 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -241,7 +241,7 @@ public partial class Instance : global::Pulumi.CustomResource /// /// Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - /// See blue_green_update below + /// See `blue_green_update` below. /// [Output("blueGreenUpdate")] public Output BlueGreenUpdate { get; private set; } = null!; @@ -417,8 +417,12 @@ public partial class Instance : global::Pulumi.CustomResource public Output LatestRestorableTime { get; private set; } = null!; /// - /// (Optional, but required for some DB engines, i.e., Oracle - /// SE1) License model information for this DB instance. + /// License model information for this DB instance. Valid values for this field are as follows: + /// * RDS for MariaDB: `general-public-license` + /// * RDS for Microsoft SQL Server: `license-included` + /// * RDS for MySQL: `general-public-license` + /// * RDS for Oracle: `bring-your-own-license | license-included` + /// * RDS for PostgreSQL: `postgresql-license` /// [Output("licenseModel")] public Output LicenseModel { get; private set; } = null!; @@ -796,7 +800,7 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs /// /// Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - /// See blue_green_update below + /// See `blue_green_update` below. /// [Input("blueGreenUpdate")] public Input? BlueGreenUpdate { get; set; } @@ -954,8 +958,12 @@ public InputList EnabledCloudwatchLogsExports public Input? KmsKeyId { get; set; } /// - /// (Optional, but required for some DB engines, i.e., Oracle - /// SE1) License model information for this DB instance. + /// License model information for this DB instance. Valid values for this field are as follows: + /// * RDS for MariaDB: `general-public-license` + /// * RDS for Microsoft SQL Server: `license-included` + /// * RDS for MySQL: `general-public-license` + /// * RDS for Oracle: `bring-your-own-license | license-included` + /// * RDS for PostgreSQL: `postgresql-license` /// [Input("licenseModel")] public Input? LicenseModel { get; set; } @@ -1291,7 +1299,7 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs /// /// Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - /// See blue_green_update below + /// See `blue_green_update` below. /// [Input("blueGreenUpdate")] public Input? BlueGreenUpdate { get; set; } @@ -1473,8 +1481,12 @@ public InputList EnabledCloudwatchLogsExports public Input? LatestRestorableTime { get; set; } /// - /// (Optional, but required for some DB engines, i.e., Oracle - /// SE1) License model information for this DB instance. + /// License model information for this DB instance. Valid values for this field are as follows: + /// * RDS for MariaDB: `general-public-license` + /// * RDS for Microsoft SQL Server: `license-included` + /// * RDS for MySQL: `general-public-license` + /// * RDS for Oracle: `bring-your-own-license | license-included` + /// * RDS for PostgreSQL: `postgresql-license` /// [Input("licenseModel")] public Input? LicenseModel { get; set; } diff --git a/sdk/dotnet/Signer/SigningProfile.cs b/sdk/dotnet/Signer/SigningProfile.cs index 656470ab77e..167a6e2eeea 100644 --- a/sdk/dotnet/Signer/SigningProfile.cs +++ b/sdk/dotnet/Signer/SigningProfile.cs @@ -73,7 +73,7 @@ public partial class SigningProfile : global::Pulumi.CustomResource /// A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// A human-readable name for the signing platform associated with the signing profile. diff --git a/sdk/dotnet/Signer/SigningProfilePermission.cs b/sdk/dotnet/Signer/SigningProfilePermission.cs index e8f119f7806..794da7a3405 100644 --- a/sdk/dotnet/Signer/SigningProfilePermission.cs +++ b/sdk/dotnet/Signer/SigningProfilePermission.cs @@ -77,7 +77,7 @@ namespace Pulumi.Aws.Signer public partial class SigningProfilePermission : global::Pulumi.CustomResource { /// - /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. /// [Output("action")] public Output Action { get; private set; } = null!; @@ -110,7 +110,7 @@ public partial class SigningProfilePermission : global::Pulumi.CustomResource /// A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statement_id`. /// [Output("statementIdPrefix")] - public Output StatementIdPrefix { get; private set; } = null!; + public Output StatementIdPrefix { get; private set; } = null!; /// @@ -159,7 +159,7 @@ public static SigningProfilePermission Get(string name, Input id, Signin public sealed class SigningProfilePermissionArgs : global::Pulumi.ResourceArgs { /// - /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. /// [Input("action", required: true)] public Input Action { get; set; } = null!; @@ -203,7 +203,7 @@ public SigningProfilePermissionArgs() public sealed class SigningProfilePermissionState : global::Pulumi.ResourceArgs { /// - /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + /// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. /// [Input("action")] public Input? Action { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.cs index 2a253fb7f1e..3731de09b91 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchGetArgs.cs index fa6bbb83dc9..24c302a805b 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..0a7275703e4 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..7d0e5ada8c3 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs index af74f1467a8..fa0a04252e7 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs index a73ee4d28f4..7f6e527e1ad 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..14f68d177c4 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..9c08887b0f2 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs index d593bd374ad..23ac45b27a2 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs index 1a73c11972e..b4b017a025d 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..3845916b540 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..513981b9195 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs index 6e611fb5cc0..a727cd7db06 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs index a25a62f35e7..66cc7c8f19f 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..535cf4cfdd3 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..80d71a18b7e --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs index 9f12f662ea4..8014521814a 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs index ff4182febe5..b1cc29fea99 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..3758891cc15 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..669e90c7891 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs index f344f6649d0..09989cc83d9 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs index 70e9a8cf973..caf44481539 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..6172feed563 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..9f26cd56a12 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs index d702066077b..f67e6acceb1 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs index debbd400827..e6ca6fcb3a3 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..5944ae2ea61 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..c40b3eb6834 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.cs index 73bbb2df27e..a7ec438242e 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs index 9c514439712..373caf48564 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..8d76f9c34e9 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..eaf84a01fe3 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs index b6a10632a52..6b67906550b 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs index f87baa63bea..f57d4113151 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..d46a581367c --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..fecfd017f0b --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.cs index 2fc69c95116..a6bfc2ea6fb 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs index c74cd421386..152bef2d1c3 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..9587cd9e315 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..1db9cfd06b0 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.cs index 406bd019864..83962d19e10 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs index 965880b4c9f..c84607ef53c 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..d63bdc14ddf --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..417a887f847 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.cs index a4c635ea378..02eacc29c35 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchGetArgs.cs index e66cb62ee1e..981ba7791e9 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,9 @@ public InputList _headers = value; } + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See JSON Body for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..43c1eab945b --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty => new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..78cb65a7818 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.cs index 3a69665d493..9a9e234d77f 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchGetArgs.cs index 5d016c58dcb..b4178200dbb 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..2281a19e785 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..a04da187315 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs index 0489a619d81..e317d6d0977 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs index 85ee95e639a..239143fe606 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..bd85279b379 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..039d45c1862 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs index 21248028bdb..03f4d98a727 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs index 20002283261..7c3f20a4c7e 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..70409892f5f --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..ae542f460d3 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs index 6c66555f694..05c32f5c3cc 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs index a040e662403..3ae58a90786 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..f6ae7f1ceef --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..3adac8195c7 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs index 53a5a1fb81d..786b2793102 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs index afc9da7792e..cd417abee32 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..1bad2c8192d --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..39f4f9db5dd --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs index f89fdf9f9e4..b652c517c2e 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs index 0b729e8d25a..a8ad51bb25e 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..146fbfa890f --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..d382671c6f0 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs index 734acc47243..63730c0da7b 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs index 6463640359a..982fc2e07e6 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..73c2dbd35d0 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..c559f55dd32 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs index aafd5a09e9b..6714ae6b352 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs index 65eee627fa1..19704a1d0f8 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..9dc4a1ad12d --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..b4b2a7db3c4 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs index 0c31ed0e911..9f31ba4e019 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs index 100c1260068..d53ee220f17 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..2eda6f24ad7 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..324f120ad35 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs index 6425ecec8f9..10c371915ab 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs index 6f7747faa06..e86dab102b6 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..5b9915e7c1e --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..075b57ed76f --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs index d0da07ac690..c343a29b0e4 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs index 869d0bb3653..2da32c2aad7 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..80b9ac583a7 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..99bb3f5abe9 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs index 8ca736b066e..36af22e7e06 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs index b771733ed27..e2c9b97e7c8 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..4f372d9c29c --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..953826395aa --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs index e4637ec0edb..db582a24582 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs index 9e4265f91e1..e431b2ed855 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..1eb2ce1e08d --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..4671a80c6b1 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.cs index c7d0e9c3d2e..ac8ee0b3d3a 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs index cac81c86efa..1c760fe191f 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..ad9cb74fc69 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..a7f7cfde06f --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs index 7efaa999fb7..8484edf089e 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs index ec4616c363a..5a71c176362 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..58389e22efe --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..fdb8701478d --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.cs index b4b8f6f4dc2..33ef9754248 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs index 54732154326..18190546e4c 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..c348c3591ff --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..5f92fe0655c --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.cs index 2410da4db6c..ee09a7aee57 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs index 1d166a280e5..0fb0cd8386a 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..e56e19ba52e --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..c2aa14ad31f --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.cs index 38437183b39..c498671ac97 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchGetArgs.cs index c1229149b76..64345f95d6f 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchGetArgs.cs @@ -42,6 +42,12 @@ public InputList _headers = value; } + /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + [Input("ja3Fingerprint")] + public Input? Ja3Fingerprint { get; set; } + /// /// Inspect the request body as JSON. See `json_body` for details. /// diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.cs new file mode 100644 index 00000000000..7da610d2ad6 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() + { + } + public static new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty => new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.cs new file mode 100644 index 00000000000..2dbf1fd95d2 --- /dev/null +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs.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.WafV2.Inputs +{ + + public sealed class WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + [Input("fallbackBehavior", required: true)] + public Input FallbackBehavior { get; set; } = null!; + + public WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs() + { + } + public static new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs Empty => new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintGetArgs(); + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.cs index e37a20ca176..5d94d9422dd 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementByteMatchStatementFieldToMatch /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementByteMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementByteMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..4016988ca97 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs index a4bb5225636..fc19ad00dd2 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementBy /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..813a70eec33 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs index c6ead015a75..eacb8f99f49 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRe /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..b40432925e4 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs index 6ff2f584281..68713929f30 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRe /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..0323ae64ae4 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs index c45c7ae73f4..c2b320ddb0d 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSi /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..b2bab3cb4db --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs index ceb25259d6e..bd33905dc09 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSq /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..1c18be204ee --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs index 35c5ad64d64..72c71dbc82b 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXs /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem ImmutableArray headers, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..af4229d2878 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.cs index fcc16a56067..bd5ad7e2c47 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRegexMatchStatementFieldToMatch /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRegexMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRegexMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..92f142b9a7c --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs index 8d8bd0c356f..865c1961bc7 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementRegexPatternSetReferenceStatementField /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..257dbaaa432 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.cs index 13796636d0f..3a61eaa252c 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementSizeConstraintStatementFieldToMatch /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementSizeConstraintStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementSizeConstraintStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..1625572349c --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.cs index b4a25508f97..55098bf9543 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementSqliMatchStatementFieldToMatch /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementSqliMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementSqliMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..82747efeda8 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.cs index e1bf8e9871c..1da7cd2cdb7 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.cs @@ -29,6 +29,7 @@ public sealed class RuleGroupRuleStatementXssMatchStatementFieldToMatch /// Inspect the request headers. See Headers below for details. /// public readonly ImmutableArray Headers; + public readonly Outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; /// /// Inspect the request body as JSON. See JSON Body for details. /// @@ -64,6 +65,8 @@ private RuleGroupRuleStatementXssMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchMethod? method, @@ -80,6 +83,7 @@ private RuleGroupRuleStatementXssMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..55c7f720f24 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.cs index 4260a606cc7..20886cc13f7 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementByteMatchStatementFieldToMatch /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementByteMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementByteMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementByteMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..5ddc2496c48 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.cs index a8143d858ee..16e8ca9c0b9 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..8367042313e --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs index 7f54db0ae73..7428240718b 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..85f43d6b7b7 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs index f9efb8a2f38..68412123cde 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..b7b0e5139fd --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs index 9eb345f6ece..3b20668ed30 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..8b1c2bfde0d --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs index fe24bce2ce9..b29b3b986e4 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..4aa9d901d40 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.cs index 54d55918ae2..941a118231f 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt ImmutableArray headers, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..070314d8f44 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs index 0459b29af6f..4cadf376f2c 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementByteM /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..9fab07eeeb9 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs index d807781a96b..f8a8abb05c6 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegex /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..4b5df65e2b0 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs index a1018386fa9..bfb2c8baf8b 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegex /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..06ff3fae825 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs index 56b3e268110..7ca2864fbc2 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeC /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..91b0b75dc7d --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs index 89c806c3483..c480e7861ca 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliM /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..6c39470f050 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs index eddfb9f3107..3a9eb5e8eb9 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMa /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement ImmutableArray headers, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..dad64d748d0 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.cs index e8e456e9001..c716dc018a5 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRegexMatchStatementFieldToMatch /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRegexMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRegexMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..73a1d3da3c4 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs index 7cb9b923e78..8d0a21b3429 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToM /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..fc78657b70c --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.cs index 73f4de51912..a538b6ec988 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementSizeConstraintStatementFieldToMatch /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementSizeConstraintStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementSizeConstraintStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..2ac3f1b2add --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.cs index 63a0cf33958..584a7435847 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementSqliMatchStatementFieldToMatch /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementSqliMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementSqliMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..3c05971b630 --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.cs index 1dbf5daa164..59634758cb5 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.cs @@ -30,6 +30,10 @@ public sealed class WebAclRuleStatementXssMatchStatementFieldToMatch /// public readonly ImmutableArray Headers; /// + /// Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + /// + public readonly Outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint? Ja3Fingerprint; + /// /// Inspect the request body as JSON. See `json_body` for details. /// public readonly Outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody? JsonBody; @@ -64,6 +68,8 @@ private WebAclRuleStatementXssMatchStatementFieldToMatch( ImmutableArray headers, + Outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint? ja3Fingerprint, + Outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody? jsonBody, Outputs.WebAclRuleStatementXssMatchStatementFieldToMatchMethod? method, @@ -80,6 +86,7 @@ private WebAclRuleStatementXssMatchStatementFieldToMatch( Body = body; Cookies = cookies; Headers = headers; + Ja3Fingerprint = ja3Fingerprint; JsonBody = jsonBody; Method = method; QueryString = queryString; diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.cs new file mode 100644 index 00000000000..6730047d88c --- /dev/null +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.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.WafV2.Outputs +{ + + [OutputType] + public sealed class WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint + { + /// + /// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + /// + public readonly string FallbackBehavior; + + [OutputConstructor] + private WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(string fallbackBehavior) + { + FallbackBehavior = fallbackBehavior; + } + } +} diff --git a/sdk/go/aws/alb/loadBalancer.go b/sdk/go/aws/alb/loadBalancer.go index 779e0dc404e..4d5f09f52d9 100644 --- a/sdk/go/aws/alb/loadBalancer.go +++ b/sdk/go/aws/alb/loadBalancer.go @@ -182,6 +182,8 @@ type LoadBalancer struct { DesyncMitigationMode pulumi.StringPtrOutput `pulumi:"desyncMitigationMode"` // The DNS name of the load balancer. DnsName pulumi.StringOutput `pulumi:"dnsName"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrOutput `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrOutput `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -209,7 +211,7 @@ type LoadBalancer struct { // this provider will autogenerate a name beginning with `tf-lb`. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. PreserveHostHeader pulumi.BoolPtrOutput `pulumi:"preserveHostHeader"` // A list of security group IDs to assign to the LB. Only valid for Load Balancers of type `application` or `network`. For load balancers of type `network` security groups cannot be added if none are currently present, and cannot all be removed once added. If either of these conditions are met, this will force a recreation of the resource. @@ -285,6 +287,8 @@ type loadBalancerState struct { DesyncMitigationMode *string `pulumi:"desyncMitigationMode"` // The DNS name of the load balancer. DnsName *string `pulumi:"dnsName"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy *string `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields *bool `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -349,6 +353,8 @@ type LoadBalancerState struct { DesyncMitigationMode pulumi.StringPtrInput // The DNS name of the load balancer. DnsName pulumi.StringPtrInput + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrInput // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrInput // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -411,6 +417,8 @@ type loadBalancerArgs struct { CustomerOwnedIpv4Pool *string `pulumi:"customerOwnedIpv4Pool"` // Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. DesyncMitigationMode *string `pulumi:"desyncMitigationMode"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy *string `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields *bool `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -463,6 +471,8 @@ type LoadBalancerArgs struct { CustomerOwnedIpv4Pool pulumi.StringPtrInput // Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. DesyncMitigationMode pulumi.StringPtrInput + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrInput // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrInput // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -648,6 +658,11 @@ func (o LoadBalancerOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) } +// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. +func (o LoadBalancerOutput) DnsRecordClientRoutingPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.DnsRecordClientRoutingPolicy }).(pulumi.StringPtrOutput) +} + // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. func (o LoadBalancerOutput) DropInvalidHeaderFields() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.BoolPtrOutput { return v.DropInvalidHeaderFields }).(pulumi.BoolPtrOutput) @@ -711,8 +726,8 @@ func (o LoadBalancerOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. -func (o LoadBalancerOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o LoadBalancerOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. diff --git a/sdk/go/aws/alb/pulumiTypes.go b/sdk/go/aws/alb/pulumiTypes.go index 41333ad7f10..c424ec7b4be 100644 --- a/sdk/go/aws/alb/pulumiTypes.go +++ b/sdk/go/aws/alb/pulumiTypes.go @@ -5767,6 +5767,127 @@ func (o TargetGroupTargetFailoverArrayOutput) Index(i pulumi.IntInput) TargetGro }).(TargetGroupTargetFailoverOutput) } +type TargetGroupTargetHealthState struct { + // Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + EnableUnhealthyConnectionTermination bool `pulumi:"enableUnhealthyConnectionTermination"` +} + +// TargetGroupTargetHealthStateInput is an input type that accepts TargetGroupTargetHealthStateArgs and TargetGroupTargetHealthStateOutput values. +// You can construct a concrete instance of `TargetGroupTargetHealthStateInput` via: +// +// TargetGroupTargetHealthStateArgs{...} +type TargetGroupTargetHealthStateInput interface { + pulumi.Input + + ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput + ToTargetGroupTargetHealthStateOutputWithContext(context.Context) TargetGroupTargetHealthStateOutput +} + +type TargetGroupTargetHealthStateArgs struct { + // Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + EnableUnhealthyConnectionTermination pulumi.BoolInput `pulumi:"enableUnhealthyConnectionTermination"` +} + +func (TargetGroupTargetHealthStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TargetGroupTargetHealthState)(nil)).Elem() +} + +func (i TargetGroupTargetHealthStateArgs) ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput { + return i.ToTargetGroupTargetHealthStateOutputWithContext(context.Background()) +} + +func (i TargetGroupTargetHealthStateArgs) ToTargetGroupTargetHealthStateOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(TargetGroupTargetHealthStateOutput) +} + +func (i TargetGroupTargetHealthStateArgs) ToOutput(ctx context.Context) pulumix.Output[TargetGroupTargetHealthState] { + return pulumix.Output[TargetGroupTargetHealthState]{ + OutputState: i.ToTargetGroupTargetHealthStateOutputWithContext(ctx).OutputState, + } +} + +// TargetGroupTargetHealthStateArrayInput is an input type that accepts TargetGroupTargetHealthStateArray and TargetGroupTargetHealthStateArrayOutput values. +// You can construct a concrete instance of `TargetGroupTargetHealthStateArrayInput` via: +// +// TargetGroupTargetHealthStateArray{ TargetGroupTargetHealthStateArgs{...} } +type TargetGroupTargetHealthStateArrayInput interface { + pulumi.Input + + ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput + ToTargetGroupTargetHealthStateArrayOutputWithContext(context.Context) TargetGroupTargetHealthStateArrayOutput +} + +type TargetGroupTargetHealthStateArray []TargetGroupTargetHealthStateInput + +func (TargetGroupTargetHealthStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TargetGroupTargetHealthState)(nil)).Elem() +} + +func (i TargetGroupTargetHealthStateArray) ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput { + return i.ToTargetGroupTargetHealthStateArrayOutputWithContext(context.Background()) +} + +func (i TargetGroupTargetHealthStateArray) ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TargetGroupTargetHealthStateArrayOutput) +} + +func (i TargetGroupTargetHealthStateArray) ToOutput(ctx context.Context) pulumix.Output[[]TargetGroupTargetHealthState] { + return pulumix.Output[[]TargetGroupTargetHealthState]{ + OutputState: i.ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx).OutputState, + } +} + +type TargetGroupTargetHealthStateOutput struct{ *pulumi.OutputState } + +func (TargetGroupTargetHealthStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TargetGroupTargetHealthState)(nil)).Elem() +} + +func (o TargetGroupTargetHealthStateOutput) ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput { + return o +} + +func (o TargetGroupTargetHealthStateOutput) ToTargetGroupTargetHealthStateOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateOutput { + return o +} + +func (o TargetGroupTargetHealthStateOutput) ToOutput(ctx context.Context) pulumix.Output[TargetGroupTargetHealthState] { + return pulumix.Output[TargetGroupTargetHealthState]{ + OutputState: o.OutputState, + } +} + +// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. +func (o TargetGroupTargetHealthStateOutput) EnableUnhealthyConnectionTermination() pulumi.BoolOutput { + return o.ApplyT(func(v TargetGroupTargetHealthState) bool { return v.EnableUnhealthyConnectionTermination }).(pulumi.BoolOutput) +} + +type TargetGroupTargetHealthStateArrayOutput struct{ *pulumi.OutputState } + +func (TargetGroupTargetHealthStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TargetGroupTargetHealthState)(nil)).Elem() +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput { + return o +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateArrayOutput { + return o +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]TargetGroupTargetHealthState] { + return pulumix.Output[[]TargetGroupTargetHealthState]{ + OutputState: o.OutputState, + } +} + +func (o TargetGroupTargetHealthStateArrayOutput) Index(i pulumi.IntInput) TargetGroupTargetHealthStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TargetGroupTargetHealthState { + return vs[0].([]TargetGroupTargetHealthState)[vs[1].(int)] + }).(TargetGroupTargetHealthStateOutput) +} + type GetListenerDefaultAction struct { AuthenticateCognitos []GetListenerDefaultActionAuthenticateCognito `pulumi:"authenticateCognitos"` AuthenticateOidcs []GetListenerDefaultActionAuthenticateOidc `pulumi:"authenticateOidcs"` @@ -7393,6 +7514,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupStickinessPtrInput)(nil)).Elem(), TargetGroupStickinessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetFailoverInput)(nil)).Elem(), TargetGroupTargetFailoverArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetFailoverArrayInput)(nil)).Elem(), TargetGroupTargetFailoverArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetHealthStateInput)(nil)).Elem(), TargetGroupTargetHealthStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetHealthStateArrayInput)(nil)).Elem(), TargetGroupTargetHealthStateArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionInput)(nil)).Elem(), GetListenerDefaultActionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionArrayInput)(nil)).Elem(), GetListenerDefaultActionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionAuthenticateCognitoInput)(nil)).Elem(), GetListenerDefaultActionAuthenticateCognitoArgs{}) @@ -7470,6 +7593,8 @@ func init() { pulumi.RegisterOutputType(TargetGroupStickinessPtrOutput{}) pulumi.RegisterOutputType(TargetGroupTargetFailoverOutput{}) pulumi.RegisterOutputType(TargetGroupTargetFailoverArrayOutput{}) + pulumi.RegisterOutputType(TargetGroupTargetHealthStateOutput{}) + pulumi.RegisterOutputType(TargetGroupTargetHealthStateArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionAuthenticateCognitoOutput{}) diff --git a/sdk/go/aws/alb/targetGroup.go b/sdk/go/aws/alb/targetGroup.go index 1c1c821a029..a79cc37a0e2 100644 --- a/sdk/go/aws/alb/targetGroup.go +++ b/sdk/go/aws/alb/targetGroup.go @@ -139,6 +139,38 @@ import ( // } // // ``` +// ### Target group with unhealthy connection termination disabled +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := lb.NewTargetGroup(ctx, "tcp-example", &lb.TargetGroupArgs{ +// Port: pulumi.Int(25), +// Protocol: pulumi.String("TCP"), +// VpcId: pulumi.Any(aws_vpc.Main.Id), +// TargetHealthStates: lb.TargetGroupTargetHealthStateArray{ +// &lb.TargetGroupTargetHealthStateArgs{ +// EnableUnhealthyConnectionTermination: pulumi.Bool(false), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // // ## Import // @@ -157,7 +189,7 @@ type TargetGroup struct { // ARN suffix for use with CloudWatch Metrics. ArnSuffix pulumi.StringOutput `pulumi:"arnSuffix"` // Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. - ConnectionTermination pulumi.BoolPtrOutput `pulumi:"connectionTermination"` + ConnectionTermination pulumi.BoolOutput `pulumi:"connectionTermination"` // Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. DeregistrationDelay pulumi.IntPtrOutput `pulumi:"deregistrationDelay"` // Health Check configuration block. Detailed below. @@ -173,7 +205,7 @@ type TargetGroup struct { // Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. Port pulumi.IntPtrOutput `pulumi:"port"` // Whether client IP preservation is enabled. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation) for more information. @@ -196,6 +228,8 @@ type TargetGroup struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayOutput `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayOutput `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -294,6 +328,8 @@ type targetGroupState struct { TagsAll map[string]string `pulumi:"tagsAll"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates []TargetGroupTargetHealthState `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -353,6 +389,8 @@ type TargetGroupState struct { TagsAll pulumi.StringMapInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayInput // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -408,6 +446,8 @@ type targetGroupArgs struct { Tags map[string]string `pulumi:"tags"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates []TargetGroupTargetHealthState `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -460,6 +500,8 @@ type TargetGroupArgs struct { Tags pulumi.StringMapInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayInput // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -596,8 +638,8 @@ func (o TargetGroupOutput) ArnSuffix() pulumi.StringOutput { } // Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. -func (o TargetGroupOutput) ConnectionTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *TargetGroup) pulumi.BoolPtrOutput { return v.ConnectionTermination }).(pulumi.BoolPtrOutput) +func (o TargetGroupOutput) ConnectionTermination() pulumi.BoolOutput { + return o.ApplyT(func(v *TargetGroup) pulumi.BoolOutput { return v.ConnectionTermination }).(pulumi.BoolOutput) } // Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -636,8 +678,8 @@ func (o TargetGroupOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. -func (o TargetGroupOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TargetGroup) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o TargetGroupOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *TargetGroup) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. @@ -692,6 +734,11 @@ func (o TargetGroupOutput) TargetFailovers() TargetGroupTargetFailoverArrayOutpu return o.ApplyT(func(v *TargetGroup) TargetGroupTargetFailoverArrayOutput { return v.TargetFailovers }).(TargetGroupTargetFailoverArrayOutput) } +// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. +func (o TargetGroupOutput) TargetHealthStates() TargetGroupTargetHealthStateArrayOutput { + return o.ApplyT(func(v *TargetGroup) TargetGroupTargetHealthStateArrayOutput { return v.TargetHealthStates }).(TargetGroupTargetHealthStateArrayOutput) +} + // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. diff --git a/sdk/go/aws/autoscaling/group.go b/sdk/go/aws/autoscaling/group.go index c7a712f8f0c..35098cdf93c 100644 --- a/sdk/go/aws/autoscaling/group.go +++ b/sdk/go/aws/autoscaling/group.go @@ -554,7 +554,7 @@ type Group struct { // Name of the launch configuration to use. LaunchConfiguration pulumi.StringPtrOutput `pulumi:"launchConfiguration"` // Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. - LaunchTemplate GroupLaunchTemplatePtrOutput `pulumi:"launchTemplate"` + LaunchTemplate GroupLaunchTemplateOutput `pulumi:"launchTemplate"` // List of elastic load balancer names to add to the autoscaling // group names. Only valid for classic load balancers. For ALBs, use `targetGroupArns` instead. To remove all load balancer attachments an empty list should be specified. LoadBalancers pulumi.StringArrayOutput `pulumi:"loadBalancers"` @@ -573,7 +573,7 @@ type Group struct { // (See also Waiting for Capacity below.) MinSize pulumi.IntOutput `pulumi:"minSize"` // Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. - MixedInstancesPolicy GroupMixedInstancesPolicyPtrOutput `pulumi:"mixedInstancesPolicy"` + MixedInstancesPolicy GroupMixedInstancesPolicyOutput `pulumi:"mixedInstancesPolicy"` // Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with `namePrefix`. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified @@ -1333,8 +1333,8 @@ func (o GroupOutput) LaunchConfiguration() pulumi.StringPtrOutput { } // Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. -func (o GroupOutput) LaunchTemplate() GroupLaunchTemplatePtrOutput { - return o.ApplyT(func(v *Group) GroupLaunchTemplatePtrOutput { return v.LaunchTemplate }).(GroupLaunchTemplatePtrOutput) +func (o GroupOutput) LaunchTemplate() GroupLaunchTemplateOutput { + return o.ApplyT(func(v *Group) GroupLaunchTemplateOutput { return v.LaunchTemplate }).(GroupLaunchTemplateOutput) } // List of elastic load balancer names to add to the autoscaling @@ -1373,8 +1373,8 @@ func (o GroupOutput) MinSize() pulumi.IntOutput { } // Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. -func (o GroupOutput) MixedInstancesPolicy() GroupMixedInstancesPolicyPtrOutput { - return o.ApplyT(func(v *Group) GroupMixedInstancesPolicyPtrOutput { return v.MixedInstancesPolicy }).(GroupMixedInstancesPolicyPtrOutput) +func (o GroupOutput) MixedInstancesPolicy() GroupMixedInstancesPolicyOutput { + return o.ApplyT(func(v *Group) GroupMixedInstancesPolicyOutput { return v.MixedInstancesPolicy }).(GroupMixedInstancesPolicyOutput) } // Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with `namePrefix`. diff --git a/sdk/go/aws/cfg/pulumiTypes.go b/sdk/go/aws/cfg/pulumiTypes.go index a80271c4826..fbfcbb2925f 100644 --- a/sdk/go/aws/cfg/pulumiTypes.go +++ b/sdk/go/aws/cfg/pulumiTypes.go @@ -856,7 +856,7 @@ type RecorderRecordingGroup struct { ExclusionByResourceTypes []RecorderRecordingGroupExclusionByResourceType `pulumi:"exclusionByResourceTypes"` // Specifies whether AWS Config includes all supported types of _global resources_ with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`. IncludeGlobalResourceTypes *bool `pulumi:"includeGlobalResourceTypes"` - // Recording Strategy - see below.. + // Recording Strategy. Detailed below. RecordingStrategies []RecorderRecordingGroupRecordingStrategy `pulumi:"recordingStrategies"` // A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. ResourceTypes []string `pulumi:"resourceTypes"` @@ -880,7 +880,7 @@ type RecorderRecordingGroupArgs struct { ExclusionByResourceTypes RecorderRecordingGroupExclusionByResourceTypeArrayInput `pulumi:"exclusionByResourceTypes"` // Specifies whether AWS Config includes all supported types of _global resources_ with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`. IncludeGlobalResourceTypes pulumi.BoolPtrInput `pulumi:"includeGlobalResourceTypes"` - // Recording Strategy - see below.. + // Recording Strategy. Detailed below. RecordingStrategies RecorderRecordingGroupRecordingStrategyArrayInput `pulumi:"recordingStrategies"` // A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"` @@ -998,7 +998,7 @@ func (o RecorderRecordingGroupOutput) IncludeGlobalResourceTypes() pulumi.BoolPt return o.ApplyT(func(v RecorderRecordingGroup) *bool { return v.IncludeGlobalResourceTypes }).(pulumi.BoolPtrOutput) } -// Recording Strategy - see below.. +// Recording Strategy. Detailed below. func (o RecorderRecordingGroupOutput) RecordingStrategies() RecorderRecordingGroupRecordingStrategyArrayOutput { return o.ApplyT(func(v RecorderRecordingGroup) []RecorderRecordingGroupRecordingStrategy { return v.RecordingStrategies }).(RecorderRecordingGroupRecordingStrategyArrayOutput) } @@ -1068,7 +1068,7 @@ func (o RecorderRecordingGroupPtrOutput) IncludeGlobalResourceTypes() pulumi.Boo }).(pulumi.BoolPtrOutput) } -// Recording Strategy - see below.. +// Recording Strategy. Detailed below. func (o RecorderRecordingGroupPtrOutput) RecordingStrategies() RecorderRecordingGroupRecordingStrategyArrayOutput { return o.ApplyT(func(v *RecorderRecordingGroup) []RecorderRecordingGroupRecordingStrategy { if v == nil { @@ -1089,7 +1089,7 @@ func (o RecorderRecordingGroupPtrOutput) ResourceTypes() pulumi.StringArrayOutpu } type RecorderRecordingGroupExclusionByResourceType struct { - // A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. + // A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. ResourceTypes []string `pulumi:"resourceTypes"` } @@ -1105,7 +1105,7 @@ type RecorderRecordingGroupExclusionByResourceTypeInput interface { } type RecorderRecordingGroupExclusionByResourceTypeArgs struct { - // A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. + // A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"` } @@ -1178,7 +1178,7 @@ func (o RecorderRecordingGroupExclusionByResourceTypeOutput) ToOutput(ctx contex } } -// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. +// A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. func (o RecorderRecordingGroupExclusionByResourceTypeOutput) ResourceTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v RecorderRecordingGroupExclusionByResourceType) []string { return v.ResourceTypes }).(pulumi.StringArrayOutput) } @@ -1820,6 +1820,127 @@ func (o RemediationConfigurationParameterArrayOutput) Index(i pulumi.IntInput) R }).(RemediationConfigurationParameterOutput) } +type RuleEvaluationMode struct { + // The mode of an evaluation. + Mode *string `pulumi:"mode"` +} + +// RuleEvaluationModeInput is an input type that accepts RuleEvaluationModeArgs and RuleEvaluationModeOutput values. +// You can construct a concrete instance of `RuleEvaluationModeInput` via: +// +// RuleEvaluationModeArgs{...} +type RuleEvaluationModeInput interface { + pulumi.Input + + ToRuleEvaluationModeOutput() RuleEvaluationModeOutput + ToRuleEvaluationModeOutputWithContext(context.Context) RuleEvaluationModeOutput +} + +type RuleEvaluationModeArgs struct { + // The mode of an evaluation. + Mode pulumi.StringPtrInput `pulumi:"mode"` +} + +func (RuleEvaluationModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleEvaluationMode)(nil)).Elem() +} + +func (i RuleEvaluationModeArgs) ToRuleEvaluationModeOutput() RuleEvaluationModeOutput { + return i.ToRuleEvaluationModeOutputWithContext(context.Background()) +} + +func (i RuleEvaluationModeArgs) ToRuleEvaluationModeOutputWithContext(ctx context.Context) RuleEvaluationModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleEvaluationModeOutput) +} + +func (i RuleEvaluationModeArgs) ToOutput(ctx context.Context) pulumix.Output[RuleEvaluationMode] { + return pulumix.Output[RuleEvaluationMode]{ + OutputState: i.ToRuleEvaluationModeOutputWithContext(ctx).OutputState, + } +} + +// RuleEvaluationModeArrayInput is an input type that accepts RuleEvaluationModeArray and RuleEvaluationModeArrayOutput values. +// You can construct a concrete instance of `RuleEvaluationModeArrayInput` via: +// +// RuleEvaluationModeArray{ RuleEvaluationModeArgs{...} } +type RuleEvaluationModeArrayInput interface { + pulumi.Input + + ToRuleEvaluationModeArrayOutput() RuleEvaluationModeArrayOutput + ToRuleEvaluationModeArrayOutputWithContext(context.Context) RuleEvaluationModeArrayOutput +} + +type RuleEvaluationModeArray []RuleEvaluationModeInput + +func (RuleEvaluationModeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleEvaluationMode)(nil)).Elem() +} + +func (i RuleEvaluationModeArray) ToRuleEvaluationModeArrayOutput() RuleEvaluationModeArrayOutput { + return i.ToRuleEvaluationModeArrayOutputWithContext(context.Background()) +} + +func (i RuleEvaluationModeArray) ToRuleEvaluationModeArrayOutputWithContext(ctx context.Context) RuleEvaluationModeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleEvaluationModeArrayOutput) +} + +func (i RuleEvaluationModeArray) ToOutput(ctx context.Context) pulumix.Output[[]RuleEvaluationMode] { + return pulumix.Output[[]RuleEvaluationMode]{ + OutputState: i.ToRuleEvaluationModeArrayOutputWithContext(ctx).OutputState, + } +} + +type RuleEvaluationModeOutput struct{ *pulumi.OutputState } + +func (RuleEvaluationModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleEvaluationMode)(nil)).Elem() +} + +func (o RuleEvaluationModeOutput) ToRuleEvaluationModeOutput() RuleEvaluationModeOutput { + return o +} + +func (o RuleEvaluationModeOutput) ToRuleEvaluationModeOutputWithContext(ctx context.Context) RuleEvaluationModeOutput { + return o +} + +func (o RuleEvaluationModeOutput) ToOutput(ctx context.Context) pulumix.Output[RuleEvaluationMode] { + return pulumix.Output[RuleEvaluationMode]{ + OutputState: o.OutputState, + } +} + +// The mode of an evaluation. +func (o RuleEvaluationModeOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleEvaluationMode) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +type RuleEvaluationModeArrayOutput struct{ *pulumi.OutputState } + +func (RuleEvaluationModeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleEvaluationMode)(nil)).Elem() +} + +func (o RuleEvaluationModeArrayOutput) ToRuleEvaluationModeArrayOutput() RuleEvaluationModeArrayOutput { + return o +} + +func (o RuleEvaluationModeArrayOutput) ToRuleEvaluationModeArrayOutputWithContext(ctx context.Context) RuleEvaluationModeArrayOutput { + return o +} + +func (o RuleEvaluationModeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]RuleEvaluationMode] { + return pulumix.Output[[]RuleEvaluationMode]{ + OutputState: o.OutputState, + } +} + +func (o RuleEvaluationModeArrayOutput) Index(i pulumi.IntInput) RuleEvaluationModeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RuleEvaluationMode { + return vs[0].([]RuleEvaluationMode)[vs[1].(int)] + }).(RuleEvaluationModeOutput) +} + type RuleScope struct { // The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`. ComplianceResourceId *string `pulumi:"complianceResourceId"` @@ -2617,6 +2738,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RemediationConfigurationExecutionControlsSsmControlsPtrInput)(nil)).Elem(), RemediationConfigurationExecutionControlsSsmControlsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RemediationConfigurationParameterInput)(nil)).Elem(), RemediationConfigurationParameterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RemediationConfigurationParameterArrayInput)(nil)).Elem(), RemediationConfigurationParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleEvaluationModeInput)(nil)).Elem(), RuleEvaluationModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleEvaluationModeArrayInput)(nil)).Elem(), RuleEvaluationModeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleScopeInput)(nil)).Elem(), RuleScopeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleScopePtrInput)(nil)).Elem(), RuleScopeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleSourceInput)(nil)).Elem(), RuleSourceArgs{}) @@ -2647,6 +2770,8 @@ func init() { pulumi.RegisterOutputType(RemediationConfigurationExecutionControlsSsmControlsPtrOutput{}) pulumi.RegisterOutputType(RemediationConfigurationParameterOutput{}) pulumi.RegisterOutputType(RemediationConfigurationParameterArrayOutput{}) + pulumi.RegisterOutputType(RuleEvaluationModeOutput{}) + pulumi.RegisterOutputType(RuleEvaluationModeArrayOutput{}) pulumi.RegisterOutputType(RuleScopeOutput{}) pulumi.RegisterOutputType(RuleScopePtrOutput{}) pulumi.RegisterOutputType(RuleSourceOutput{}) diff --git a/sdk/go/aws/cfg/recorder.go b/sdk/go/aws/cfg/recorder.go index 12f0489deb8..850380c038d 100644 --- a/sdk/go/aws/cfg/recorder.go +++ b/sdk/go/aws/cfg/recorder.go @@ -18,6 +18,7 @@ import ( // > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `cfg.RecorderStatus` is a separate resource. // // ## Example Usage +// ### Basic Usage // // ```go // package main @@ -70,6 +71,46 @@ import ( // } // // ``` +// ### Exclude Resources Types Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := cfg.NewRecorder(ctx, "foo", &cfg.RecorderArgs{ +// RoleArn: pulumi.Any(aws_iam_role.R.Arn), +// RecordingGroup: &cfg.RecorderRecordingGroupArgs{ +// AllSupported: pulumi.Bool(false), +// ExclusionByResourceTypes: cfg.RecorderRecordingGroupExclusionByResourceTypeArray{ +// &cfg.RecorderRecordingGroupExclusionByResourceTypeArgs{ +// ResourceTypes: pulumi.StringArray{ +// pulumi.String("AWS::EC2::Instance"), +// }, +// }, +// }, +// RecordingStrategies: cfg.RecorderRecordingGroupRecordingStrategyArray{ +// &cfg.RecorderRecordingGroupRecordingStrategyArgs{ +// UseOnly: pulumi.String("EXCLUSION_BY_RESOURCE_TYPES"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // // ## Import // diff --git a/sdk/go/aws/cfg/rule.go b/sdk/go/aws/cfg/rule.go index 644bf3247ad..30de54181f1 100644 --- a/sdk/go/aws/cfg/rule.go +++ b/sdk/go/aws/cfg/rule.go @@ -222,6 +222,8 @@ type Rule struct { Arn pulumi.StringOutput `pulumi:"arn"` // Description of the rule Description pulumi.StringPtrOutput `pulumi:"description"` + // The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + EvaluationModes RuleEvaluationModeArrayOutput `pulumi:"evaluationModes"` // A string in JSON format that is passed to the AWS Config rule Lambda function. InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"` // The maximum frequency with which AWS Config runs evaluations for a rule. @@ -283,6 +285,8 @@ type ruleState struct { Arn *string `pulumi:"arn"` // Description of the rule Description *string `pulumi:"description"` + // The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + EvaluationModes []RuleEvaluationMode `pulumi:"evaluationModes"` // A string in JSON format that is passed to the AWS Config rule Lambda function. InputParameters *string `pulumi:"inputParameters"` // The maximum frequency with which AWS Config runs evaluations for a rule. @@ -308,6 +312,8 @@ type RuleState struct { Arn pulumi.StringPtrInput // Description of the rule Description pulumi.StringPtrInput + // The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + EvaluationModes RuleEvaluationModeArrayInput // A string in JSON format that is passed to the AWS Config rule Lambda function. InputParameters pulumi.StringPtrInput // The maximum frequency with which AWS Config runs evaluations for a rule. @@ -335,6 +341,8 @@ func (RuleState) ElementType() reflect.Type { type ruleArgs struct { // Description of the rule Description *string `pulumi:"description"` + // The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + EvaluationModes []RuleEvaluationMode `pulumi:"evaluationModes"` // A string in JSON format that is passed to the AWS Config rule Lambda function. InputParameters *string `pulumi:"inputParameters"` // The maximum frequency with which AWS Config runs evaluations for a rule. @@ -353,6 +361,8 @@ type ruleArgs struct { type RuleArgs struct { // Description of the rule Description pulumi.StringPtrInput + // The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + EvaluationModes RuleEvaluationModeArrayInput // A string in JSON format that is passed to the AWS Config rule Lambda function. InputParameters pulumi.StringPtrInput // The maximum frequency with which AWS Config runs evaluations for a rule. @@ -488,6 +498,11 @@ func (o RuleOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Rule) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The modes the Config rule can be evaluated in. See Evaluation Mode for more details. +func (o RuleOutput) EvaluationModes() RuleEvaluationModeArrayOutput { + return o.ApplyT(func(v *Rule) RuleEvaluationModeArrayOutput { return v.EvaluationModes }).(RuleEvaluationModeArrayOutput) +} + // A string in JSON format that is passed to the AWS Config rule Lambda function. func (o RuleOutput) InputParameters() pulumi.StringPtrOutput { return o.ApplyT(func(v *Rule) pulumi.StringPtrOutput { return v.InputParameters }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index d91bc9b1b0c..365cb33d3c8 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -8903,7 +8903,7 @@ type InstanceRootBlockDevice struct { VolumeId *string `pulumi:"volumeId"` // Size of the volume in gibibytes (GiB). VolumeSize *int `pulumi:"volumeSize"` - // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType *string `pulumi:"volumeType"` @@ -8939,7 +8939,7 @@ type InstanceRootBlockDeviceArgs struct { VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` // Size of the volume in gibibytes (GiB). VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` @@ -9085,7 +9085,7 @@ func (o InstanceRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. func (o InstanceRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { @@ -9212,7 +9212,7 @@ func (o InstanceRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. func (o InstanceRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { @@ -36157,7 +36157,7 @@ type SpotInstanceRequestRootBlockDevice struct { VolumeId *string `pulumi:"volumeId"` // Size of the volume in gibibytes (GiB). VolumeSize *int `pulumi:"volumeSize"` - // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType *string `pulumi:"volumeType"` @@ -36192,7 +36192,7 @@ type SpotInstanceRequestRootBlockDeviceArgs struct { VolumeId pulumi.StringPtrInput `pulumi:"volumeId"` // Size of the volume in gibibytes (GiB). VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + // Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` @@ -36337,7 +36337,7 @@ func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutp return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { @@ -36463,7 +36463,7 @@ func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrO }).(pulumi.IntPtrOutput) } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { diff --git a/sdk/go/aws/ec2/vpcIpamPoolCidr.go b/sdk/go/aws/ec2/vpcIpamPoolCidr.go index 80750c7ced7..54b4e555e51 100644 --- a/sdk/go/aws/ec2/vpcIpamPoolCidr.go +++ b/sdk/go/aws/ec2/vpcIpamPoolCidr.go @@ -20,6 +20,112 @@ import ( // > **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in // either a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role. // +// ## Example Usage +// +// Basic usage: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetRegion(ctx, nil, nil) +// if err != nil { +// return err +// } +// exampleVpcIpam, err := ec2.NewVpcIpam(ctx, "exampleVpcIpam", &ec2.VpcIpamArgs{ +// OperatingRegions: ec2.VpcIpamOperatingRegionArray{ +// &ec2.VpcIpamOperatingRegionArgs{ +// RegionName: *pulumi.String(current.Name), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// exampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, "exampleVpcIpamPool", &ec2.VpcIpamPoolArgs{ +// AddressFamily: pulumi.String("ipv4"), +// IpamScopeId: exampleVpcIpam.PrivateDefaultScopeId, +// Locale: *pulumi.String(current.Name), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcIpamPoolCidr(ctx, "exampleVpcIpamPoolCidr", &ec2.VpcIpamPoolCidrArgs{ +// IpamPoolId: exampleVpcIpamPool.ID(), +// Cidr: pulumi.String("172.20.0.0/16"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// Provision Public IPv6 Pool CIDRs: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetRegion(ctx, nil, nil) +// if err != nil { +// return err +// } +// example, err := ec2.NewVpcIpam(ctx, "example", &ec2.VpcIpamArgs{ +// OperatingRegions: ec2.VpcIpamOperatingRegionArray{ +// &ec2.VpcIpamOperatingRegionArgs{ +// RegionName: *pulumi.String(current.Name), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// ipv6TestPublicVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, "ipv6TestPublicVpcIpamPool", &ec2.VpcIpamPoolArgs{ +// AddressFamily: pulumi.String("ipv6"), +// IpamScopeId: example.PublicDefaultScopeId, +// Locale: pulumi.String("us-east-1"), +// Description: pulumi.String("public ipv6"), +// PubliclyAdvertisable: pulumi.Bool(false), +// PublicIpSource: pulumi.String("amazon"), +// AwsService: pulumi.String("ec2"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcIpamPoolCidr(ctx, "ipv6TestPublicVpcIpamPoolCidr", &ec2.VpcIpamPoolCidrArgs{ +// IpamPoolId: ipv6TestPublicVpcIpamPool.ID(), +// NetmaskLength: pulumi.Int(52), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import IPAMs using the `_`. For example: diff --git a/sdk/go/aws/ec2/vpcIpv6CidrBlockAssociation.go b/sdk/go/aws/ec2/vpcIpv6CidrBlockAssociation.go index f9b26b9bf3e..138223908ce 100644 --- a/sdk/go/aws/ec2/vpcIpv6CidrBlockAssociation.go +++ b/sdk/go/aws/ec2/vpcIpv6CidrBlockAssociation.go @@ -62,7 +62,7 @@ import ( type VpcIpv6CidrBlockAssociation struct { pulumi.CustomResourceState - // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. Ipv6CidrBlock pulumi.StringOutput `pulumi:"ipv6CidrBlock"` // The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Ipv6IpamPoolId pulumi.StringOutput `pulumi:"ipv6IpamPoolId"` @@ -108,7 +108,7 @@ func GetVpcIpv6CidrBlockAssociation(ctx *pulumi.Context, // Input properties used for looking up and filtering VpcIpv6CidrBlockAssociation resources. type vpcIpv6CidrBlockAssociationState struct { - // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` // The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Ipv6IpamPoolId *string `pulumi:"ipv6IpamPoolId"` @@ -119,7 +119,7 @@ type vpcIpv6CidrBlockAssociationState struct { } type VpcIpv6CidrBlockAssociationState struct { - // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. Ipv6CidrBlock pulumi.StringPtrInput // The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Ipv6IpamPoolId pulumi.StringPtrInput @@ -134,7 +134,7 @@ func (VpcIpv6CidrBlockAssociationState) ElementType() reflect.Type { } type vpcIpv6CidrBlockAssociationArgs struct { - // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` // The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Ipv6IpamPoolId string `pulumi:"ipv6IpamPoolId"` @@ -146,7 +146,7 @@ type vpcIpv6CidrBlockAssociationArgs struct { // The set of arguments for constructing a VpcIpv6CidrBlockAssociation resource. type VpcIpv6CidrBlockAssociationArgs struct { - // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + // The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. Ipv6CidrBlock pulumi.StringPtrInput // The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Ipv6IpamPoolId pulumi.StringInput @@ -267,7 +267,7 @@ func (o VpcIpv6CidrBlockAssociationOutput) ToOutput(ctx context.Context) pulumix } } -// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. +// The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. func (o VpcIpv6CidrBlockAssociationOutput) Ipv6CidrBlock() pulumi.StringOutput { return o.ApplyT(func(v *VpcIpv6CidrBlockAssociation) pulumi.StringOutput { return v.Ipv6CidrBlock }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/ec2clientvpn/endpoint.go b/sdk/go/aws/ec2clientvpn/endpoint.go index c667517f552..30f094cf88c 100644 --- a/sdk/go/aws/ec2clientvpn/endpoint.go +++ b/sdk/go/aws/ec2clientvpn/endpoint.go @@ -89,6 +89,8 @@ type Endpoint struct { SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` // Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. SelfServicePortal pulumi.StringPtrOutput `pulumi:"selfServicePortal"` + // The URL of the self-service portal. + SelfServicePortalUrl pulumi.StringOutput `pulumi:"selfServicePortalUrl"` // The ARN of the ACM server certificate. ServerCertificateArn pulumi.StringOutput `pulumi:"serverCertificateArn"` // The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` @@ -177,6 +179,8 @@ type endpointState struct { SecurityGroupIds []string `pulumi:"securityGroupIds"` // Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. SelfServicePortal *string `pulumi:"selfServicePortal"` + // The URL of the self-service portal. + SelfServicePortalUrl *string `pulumi:"selfServicePortalUrl"` // The ARN of the ACM server certificate. ServerCertificateArn *string `pulumi:"serverCertificateArn"` // The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` @@ -220,6 +224,8 @@ type EndpointState struct { SecurityGroupIds pulumi.StringArrayInput // Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. SelfServicePortal pulumi.StringPtrInput + // The URL of the self-service portal. + SelfServicePortalUrl pulumi.StringPtrInput // The ARN of the ACM server certificate. ServerCertificateArn pulumi.StringPtrInput // The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` @@ -481,6 +487,11 @@ func (o EndpointOutput) SelfServicePortal() pulumi.StringPtrOutput { return o.ApplyT(func(v *Endpoint) pulumi.StringPtrOutput { return v.SelfServicePortal }).(pulumi.StringPtrOutput) } +// The URL of the self-service portal. +func (o EndpointOutput) SelfServicePortalUrl() pulumi.StringOutput { + return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.SelfServicePortalUrl }).(pulumi.StringOutput) +} + // The ARN of the ACM server certificate. func (o EndpointOutput) ServerCertificateArn() pulumi.StringOutput { return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.ServerCertificateArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ec2clientvpn/getEndpoint.go b/sdk/go/aws/ec2clientvpn/getEndpoint.go index d5ee8d9f87b..d4607f07510 100644 --- a/sdk/go/aws/ec2clientvpn/getEndpoint.go +++ b/sdk/go/aws/ec2clientvpn/getEndpoint.go @@ -120,6 +120,8 @@ type LookupEndpointResult struct { SecurityGroupIds []string `pulumi:"securityGroupIds"` // Whether the self-service portal for the Client VPN endpoint is enabled. SelfServicePortal string `pulumi:"selfServicePortal"` + // The URL of the self-service portal. + SelfServicePortalUrl string `pulumi:"selfServicePortalUrl"` // The ARN of the server certificate. ServerCertificateArn string `pulumi:"serverCertificateArn"` // The maximum VPN session duration time in hours. @@ -251,6 +253,11 @@ func (o LookupEndpointResultOutput) SelfServicePortal() pulumi.StringOutput { return o.ApplyT(func(v LookupEndpointResult) string { return v.SelfServicePortal }).(pulumi.StringOutput) } +// The URL of the self-service portal. +func (o LookupEndpointResultOutput) SelfServicePortalUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupEndpointResult) string { return v.SelfServicePortalUrl }).(pulumi.StringOutput) +} + // The ARN of the server certificate. func (o LookupEndpointResultOutput) ServerCertificateArn() pulumi.StringOutput { return o.ApplyT(func(v LookupEndpointResult) string { return v.ServerCertificateArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/elasticache/cluster.go b/sdk/go/aws/elasticache/cluster.go index 932e67e99d4..86021debf36 100644 --- a/sdk/go/aws/elasticache/cluster.go +++ b/sdk/go/aws/elasticache/cluster.go @@ -204,7 +204,7 @@ type Cluster struct { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. - // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` @@ -240,7 +240,7 @@ type Cluster struct { PreferredOutpostArn pulumi.StringOutput `pulumi:"preferredOutpostArn"` // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"` - // One or more VPC security groups associated with the cache cluster + // One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` // Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrOutput `pulumi:"snapshotArns"` @@ -250,7 +250,7 @@ type Cluster struct { SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"` // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"` - // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -325,7 +325,7 @@ type clusterState struct { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. - // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` EngineVersion *string `pulumi:"engineVersion"` // Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. EngineVersionActual *string `pulumi:"engineVersionActual"` @@ -361,7 +361,7 @@ type clusterState struct { PreferredOutpostArn *string `pulumi:"preferredOutpostArn"` // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId *string `pulumi:"replicationGroupId"` - // One or more VPC security groups associated with the cache cluster + // One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` SecurityGroupIds []string `pulumi:"securityGroupIds"` // Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns *string `pulumi:"snapshotArns"` @@ -371,7 +371,7 @@ type clusterState struct { SnapshotRetentionLimit *int `pulumi:"snapshotRetentionLimit"` // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow *string `pulumi:"snapshotWindow"` - // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` SubnetGroupName *string `pulumi:"subnetGroupName"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -413,7 +413,7 @@ type ClusterState struct { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. - // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` EngineVersion pulumi.StringPtrInput // Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. EngineVersionActual pulumi.StringPtrInput @@ -449,7 +449,7 @@ type ClusterState struct { PreferredOutpostArn pulumi.StringPtrInput // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringPtrInput - // One or more VPC security groups associated with the cache cluster + // One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` SecurityGroupIds pulumi.StringArrayInput // Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrInput @@ -459,7 +459,7 @@ type ClusterState struct { SnapshotRetentionLimit pulumi.IntPtrInput // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringPtrInput - // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` SubnetGroupName pulumi.StringPtrInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -497,7 +497,7 @@ type clusterArgs struct { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. - // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` EngineVersion *string `pulumi:"engineVersion"` // Name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` @@ -531,7 +531,7 @@ type clusterArgs struct { PreferredOutpostArn *string `pulumi:"preferredOutpostArn"` // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId *string `pulumi:"replicationGroupId"` - // One or more VPC security groups associated with the cache cluster + // One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` SecurityGroupIds []string `pulumi:"securityGroupIds"` // Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns *string `pulumi:"snapshotArns"` @@ -541,7 +541,7 @@ type clusterArgs struct { SnapshotRetentionLimit *int `pulumi:"snapshotRetentionLimit"` // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow *string `pulumi:"snapshotWindow"` - // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` SubnetGroupName *string `pulumi:"subnetGroupName"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -572,7 +572,7 @@ type ClusterArgs struct { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. - // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + // The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` EngineVersion pulumi.StringPtrInput // Name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput @@ -606,7 +606,7 @@ type ClusterArgs struct { PreferredOutpostArn pulumi.StringPtrInput // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringPtrInput - // One or more VPC security groups associated with the cache cluster + // One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` SecurityGroupIds pulumi.StringArrayInput // Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrInput @@ -616,7 +616,7 @@ type ClusterArgs struct { SnapshotRetentionLimit pulumi.IntPtrInput // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringPtrInput - // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` SubnetGroupName pulumi.StringPtrInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -794,7 +794,7 @@ func (o ClusterOutput) Engine() pulumi.StringOutput { // When the version is 6, the major and minor version can be set, e.g., `6.2`, // or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. // Otherwise, specify the full version desired, e.g., `5.0.6`. -// The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. +// The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` func (o ClusterOutput) EngineVersion() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) } @@ -878,7 +878,7 @@ func (o ClusterOutput) ReplicationGroupId() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ReplicationGroupId }).(pulumi.StringOutput) } -// One or more VPC security groups associated with the cache cluster +// One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` func (o ClusterOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } @@ -903,7 +903,7 @@ func (o ClusterOutput) SnapshotWindow() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.SnapshotWindow }).(pulumi.StringOutput) } -// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. +// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` func (o ClusterOutput) SubnetGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.SubnetGroupName }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elasticache/replicationGroup.go b/sdk/go/aws/elasticache/replicationGroup.go index ca985ee971c..d8ae52a55a2 100644 --- a/sdk/go/aws/elasticache/replicationGroup.go +++ b/sdk/go/aws/elasticache/replicationGroup.go @@ -300,6 +300,8 @@ type ReplicationGroup struct { FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"` + // The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + IpDiscovery pulumi.StringOutput `pulumi:"ipDiscovery"` // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` // Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. @@ -310,6 +312,8 @@ type ReplicationGroup struct { MemberClusters pulumi.StringArrayOutput `pulumi:"memberClusters"` // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrOutput `pulumi:"multiAzEnabled"` + // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + NetworkType pulumi.StringOutput `pulumi:"networkType"` // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringOutput `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` @@ -337,9 +341,9 @@ type ReplicationGroup struct { // // The following arguments are optional: ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"` - // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` - // List of cache security group names to associate with this replication group. + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"` // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"` @@ -438,6 +442,8 @@ type replicationGroupState struct { FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. GlobalReplicationGroupId *string `pulumi:"globalReplicationGroupId"` + // The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + IpDiscovery *string `pulumi:"ipDiscovery"` // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId *string `pulumi:"kmsKeyId"` // Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. @@ -448,6 +454,8 @@ type replicationGroupState struct { MemberClusters []string `pulumi:"memberClusters"` // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled *bool `pulumi:"multiAzEnabled"` + // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + NetworkType *string `pulumi:"networkType"` // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` @@ -475,9 +483,9 @@ type replicationGroupState struct { // // The following arguments are optional: ReplicationGroupId *string `pulumi:"replicationGroupId"` - // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupIds []string `pulumi:"securityGroupIds"` - // List of cache security group names to associate with this replication group. + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupNames []string `pulumi:"securityGroupNames"` // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns []string `pulumi:"snapshotArns"` @@ -539,6 +547,8 @@ type ReplicationGroupState struct { FinalSnapshotIdentifier pulumi.StringPtrInput // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. GlobalReplicationGroupId pulumi.StringPtrInput + // The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + IpDiscovery pulumi.StringPtrInput // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrInput // Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. @@ -549,6 +559,8 @@ type ReplicationGroupState struct { MemberClusters pulumi.StringArrayInput // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput + // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + NetworkType pulumi.StringPtrInput // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` @@ -576,9 +588,9 @@ type ReplicationGroupState struct { // // The following arguments are optional: ReplicationGroupId pulumi.StringPtrInput - // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupIds pulumi.StringArrayInput - // List of cache security group names to associate with this replication group. + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupNames pulumi.StringArrayInput // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput @@ -636,6 +648,8 @@ type replicationGroupArgs struct { FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. GlobalReplicationGroupId *string `pulumi:"globalReplicationGroupId"` + // The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + IpDiscovery *string `pulumi:"ipDiscovery"` // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId *string `pulumi:"kmsKeyId"` // Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. @@ -644,6 +658,8 @@ type replicationGroupArgs struct { MaintenanceWindow *string `pulumi:"maintenanceWindow"` // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled *bool `pulumi:"multiAzEnabled"` + // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + NetworkType *string `pulumi:"networkType"` // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType *string `pulumi:"nodeType"` // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` @@ -667,9 +683,9 @@ type replicationGroupArgs struct { // // The following arguments are optional: ReplicationGroupId *string `pulumi:"replicationGroupId"` - // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupIds []string `pulumi:"securityGroupIds"` - // List of cache security group names to associate with this replication group. + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupNames []string `pulumi:"securityGroupNames"` // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns []string `pulumi:"snapshotArns"` @@ -720,6 +736,8 @@ type ReplicationGroupArgs struct { FinalSnapshotIdentifier pulumi.StringPtrInput // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. GlobalReplicationGroupId pulumi.StringPtrInput + // The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + IpDiscovery pulumi.StringPtrInput // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrInput // Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. @@ -728,6 +746,8 @@ type ReplicationGroupArgs struct { MaintenanceWindow pulumi.StringPtrInput // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput + // The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + NetworkType pulumi.StringPtrInput // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` @@ -751,9 +771,9 @@ type ReplicationGroupArgs struct { // // The following arguments are optional: ReplicationGroupId pulumi.StringPtrInput - // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupIds pulumi.StringArrayInput - // List of cache security group names to associate with this replication group. + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. SecurityGroupNames pulumi.StringArrayInput // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput @@ -966,6 +986,11 @@ func (o ReplicationGroupOutput) GlobalReplicationGroupId() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.GlobalReplicationGroupId }).(pulumi.StringOutput) } +// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. +func (o ReplicationGroupOutput) IpDiscovery() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.IpDiscovery }).(pulumi.StringOutput) +} + // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. func (o ReplicationGroupOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput) @@ -993,6 +1018,11 @@ func (o ReplicationGroupOutput) MultiAzEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.BoolPtrOutput { return v.MultiAzEnabled }).(pulumi.BoolPtrOutput) } +// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. +func (o ReplicationGroupOutput) NetworkType() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) +} + // Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. func (o ReplicationGroupOutput) NodeType() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) @@ -1053,12 +1083,12 @@ func (o ReplicationGroupOutput) ReplicationGroupId() pulumi.StringOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.ReplicationGroupId }).(pulumi.StringOutput) } -// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud +// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. func (o ReplicationGroupOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } -// List of cache security group names to associate with this replication group. +// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. func (o ReplicationGroupOutput) SecurityGroupNames() pulumi.StringArrayOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringArrayOutput { return v.SecurityGroupNames }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/elasticsearch/init.go b/sdk/go/aws/elasticsearch/init.go index 260e9528edd..9f52b878a93 100644 --- a/sdk/go/aws/elasticsearch/init.go +++ b/sdk/go/aws/elasticsearch/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DomainPolicy{} case "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": r = &DomainSamlOptions{} + case "aws:elasticsearch/vpcEndpoint:VpcEndpoint": + r = &VpcEndpoint{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -55,4 +57,9 @@ func init() { "elasticsearch/domainSamlOptions", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "elasticsearch/vpcEndpoint", + &module{version}, + ) } diff --git a/sdk/go/aws/elasticsearch/pulumiTypes.go b/sdk/go/aws/elasticsearch/pulumiTypes.go index fe6e2e57ef7..3740309f6a4 100644 --- a/sdk/go/aws/elasticsearch/pulumiTypes.go +++ b/sdk/go/aws/elasticsearch/pulumiTypes.go @@ -3500,6 +3500,216 @@ func (o DomainVpcOptionsPtrOutput) VpcId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type VpcEndpointVpcOptions struct { + AvailabilityZones []string `pulumi:"availabilityZones"` + // The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + SubnetIds []string `pulumi:"subnetIds"` + VpcId *string `pulumi:"vpcId"` +} + +// VpcEndpointVpcOptionsInput is an input type that accepts VpcEndpointVpcOptionsArgs and VpcEndpointVpcOptionsOutput values. +// You can construct a concrete instance of `VpcEndpointVpcOptionsInput` via: +// +// VpcEndpointVpcOptionsArgs{...} +type VpcEndpointVpcOptionsInput interface { + pulumi.Input + + ToVpcEndpointVpcOptionsOutput() VpcEndpointVpcOptionsOutput + ToVpcEndpointVpcOptionsOutputWithContext(context.Context) VpcEndpointVpcOptionsOutput +} + +type VpcEndpointVpcOptionsArgs struct { + AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` + // The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` +} + +func (VpcEndpointVpcOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEndpointVpcOptions)(nil)).Elem() +} + +func (i VpcEndpointVpcOptionsArgs) ToVpcEndpointVpcOptionsOutput() VpcEndpointVpcOptionsOutput { + return i.ToVpcEndpointVpcOptionsOutputWithContext(context.Background()) +} + +func (i VpcEndpointVpcOptionsArgs) ToVpcEndpointVpcOptionsOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointVpcOptionsOutput) +} + +func (i VpcEndpointVpcOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[VpcEndpointVpcOptions] { + return pulumix.Output[VpcEndpointVpcOptions]{ + OutputState: i.ToVpcEndpointVpcOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i VpcEndpointVpcOptionsArgs) ToVpcEndpointVpcOptionsPtrOutput() VpcEndpointVpcOptionsPtrOutput { + return i.ToVpcEndpointVpcOptionsPtrOutputWithContext(context.Background()) +} + +func (i VpcEndpointVpcOptionsArgs) ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointVpcOptionsOutput).ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx) +} + +// VpcEndpointVpcOptionsPtrInput is an input type that accepts VpcEndpointVpcOptionsArgs, VpcEndpointVpcOptionsPtr and VpcEndpointVpcOptionsPtrOutput values. +// You can construct a concrete instance of `VpcEndpointVpcOptionsPtrInput` via: +// +// VpcEndpointVpcOptionsArgs{...} +// +// or: +// +// nil +type VpcEndpointVpcOptionsPtrInput interface { + pulumi.Input + + ToVpcEndpointVpcOptionsPtrOutput() VpcEndpointVpcOptionsPtrOutput + ToVpcEndpointVpcOptionsPtrOutputWithContext(context.Context) VpcEndpointVpcOptionsPtrOutput +} + +type vpcEndpointVpcOptionsPtrType VpcEndpointVpcOptionsArgs + +func VpcEndpointVpcOptionsPtr(v *VpcEndpointVpcOptionsArgs) VpcEndpointVpcOptionsPtrInput { + return (*vpcEndpointVpcOptionsPtrType)(v) +} + +func (*vpcEndpointVpcOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEndpointVpcOptions)(nil)).Elem() +} + +func (i *vpcEndpointVpcOptionsPtrType) ToVpcEndpointVpcOptionsPtrOutput() VpcEndpointVpcOptionsPtrOutput { + return i.ToVpcEndpointVpcOptionsPtrOutputWithContext(context.Background()) +} + +func (i *vpcEndpointVpcOptionsPtrType) ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointVpcOptionsPtrOutput) +} + +func (i *vpcEndpointVpcOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*VpcEndpointVpcOptions] { + return pulumix.Output[*VpcEndpointVpcOptions]{ + OutputState: i.ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type VpcEndpointVpcOptionsOutput struct{ *pulumi.OutputState } + +func (VpcEndpointVpcOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEndpointVpcOptions)(nil)).Elem() +} + +func (o VpcEndpointVpcOptionsOutput) ToVpcEndpointVpcOptionsOutput() VpcEndpointVpcOptionsOutput { + return o +} + +func (o VpcEndpointVpcOptionsOutput) ToVpcEndpointVpcOptionsOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsOutput { + return o +} + +func (o VpcEndpointVpcOptionsOutput) ToVpcEndpointVpcOptionsPtrOutput() VpcEndpointVpcOptionsPtrOutput { + return o.ToVpcEndpointVpcOptionsPtrOutputWithContext(context.Background()) +} + +func (o VpcEndpointVpcOptionsOutput) ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEndpointVpcOptions) *VpcEndpointVpcOptions { + return &v + }).(VpcEndpointVpcOptionsPtrOutput) +} + +func (o VpcEndpointVpcOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[VpcEndpointVpcOptions] { + return pulumix.Output[VpcEndpointVpcOptions]{ + OutputState: o.OutputState, + } +} + +func (o VpcEndpointVpcOptionsOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpcEndpointVpcOptions) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +} + +// The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. +func (o VpcEndpointVpcOptionsOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpcEndpointVpcOptions) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. +func (o VpcEndpointVpcOptionsOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpcEndpointVpcOptions) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +func (o VpcEndpointVpcOptionsOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEndpointVpcOptions) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +type VpcEndpointVpcOptionsPtrOutput struct{ *pulumi.OutputState } + +func (VpcEndpointVpcOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEndpointVpcOptions)(nil)).Elem() +} + +func (o VpcEndpointVpcOptionsPtrOutput) ToVpcEndpointVpcOptionsPtrOutput() VpcEndpointVpcOptionsPtrOutput { + return o +} + +func (o VpcEndpointVpcOptionsPtrOutput) ToVpcEndpointVpcOptionsPtrOutputWithContext(ctx context.Context) VpcEndpointVpcOptionsPtrOutput { + return o +} + +func (o VpcEndpointVpcOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*VpcEndpointVpcOptions] { + return pulumix.Output[*VpcEndpointVpcOptions]{ + OutputState: o.OutputState, + } +} + +func (o VpcEndpointVpcOptionsPtrOutput) Elem() VpcEndpointVpcOptionsOutput { + return o.ApplyT(func(v *VpcEndpointVpcOptions) VpcEndpointVpcOptions { + if v != nil { + return *v + } + var ret VpcEndpointVpcOptions + return ret + }).(VpcEndpointVpcOptionsOutput) +} + +func (o VpcEndpointVpcOptionsPtrOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpcEndpointVpcOptions) []string { + if v == nil { + return nil + } + return v.AvailabilityZones + }).(pulumi.StringArrayOutput) +} + +// The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. +func (o VpcEndpointVpcOptionsPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpcEndpointVpcOptions) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. +func (o VpcEndpointVpcOptionsPtrOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpcEndpointVpcOptions) []string { + if v == nil { + return nil + } + return v.SubnetIds + }).(pulumi.StringArrayOutput) +} + +func (o VpcEndpointVpcOptionsPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEndpointVpcOptions) *string { + if v == nil { + return nil + } + return v.VpcId + }).(pulumi.StringPtrOutput) +} + type GetDomainAdvancedSecurityOption struct { // Whether node to node encryption is enabled. Enabled bool `pulumi:"enabled"` @@ -5497,6 +5707,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainSnapshotOptionsPtrInput)(nil)).Elem(), DomainSnapshotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainVpcOptionsInput)(nil)).Elem(), DomainVpcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainVpcOptionsPtrInput)(nil)).Elem(), DomainVpcOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointVpcOptionsInput)(nil)).Elem(), VpcEndpointVpcOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointVpcOptionsPtrInput)(nil)).Elem(), VpcEndpointVpcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainAdvancedSecurityOptionInput)(nil)).Elem(), GetDomainAdvancedSecurityOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainAdvancedSecurityOptionArrayInput)(nil)).Elem(), GetDomainAdvancedSecurityOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainAutoTuneOptionInput)(nil)).Elem(), GetDomainAutoTuneOptionArgs{}) @@ -5560,6 +5772,8 @@ func init() { pulumi.RegisterOutputType(DomainSnapshotOptionsPtrOutput{}) pulumi.RegisterOutputType(DomainVpcOptionsOutput{}) pulumi.RegisterOutputType(DomainVpcOptionsPtrOutput{}) + pulumi.RegisterOutputType(VpcEndpointVpcOptionsOutput{}) + pulumi.RegisterOutputType(VpcEndpointVpcOptionsPtrOutput{}) pulumi.RegisterOutputType(GetDomainAdvancedSecurityOptionOutput{}) pulumi.RegisterOutputType(GetDomainAdvancedSecurityOptionArrayOutput{}) pulumi.RegisterOutputType(GetDomainAutoTuneOptionOutput{}) diff --git a/sdk/go/aws/elasticsearch/vpcEndpoint.go b/sdk/go/aws/elasticsearch/vpcEndpoint.go new file mode 100644 index 00000000000..8df972dfe6f --- /dev/null +++ b/sdk/go/aws/elasticsearch/vpcEndpoint.go @@ -0,0 +1,332 @@ +// 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 elasticsearch + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := elasticsearch.NewVpcEndpoint(ctx, "foo", &elasticsearch.VpcEndpointArgs{ +// DomainArn: pulumi.Any(aws_elasticsearch_domain.Domain_1.Arn), +// VpcOptions: &elasticsearch.VpcEndpointVpcOptionsArgs{ +// SecurityGroupIds: pulumi.StringArray{ +// aws_security_group.Test.Id, +// aws_security_group.Test2.Id, +// }, +// SubnetIds: pulumi.StringArray{ +// aws_subnet.Test.Id, +// aws_subnet.Test2.Id, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: +// +// ```sh +// +// $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id +// +// ``` +type VpcEndpoint struct { + pulumi.CustomResourceState + + // Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + DomainArn pulumi.StringOutput `pulumi:"domainArn"` + // The connection endpoint ID for connecting to the domain. + Endpoint pulumi.StringOutput `pulumi:"endpoint"` + // Options to specify the subnets and security groups for the endpoint. + VpcOptions VpcEndpointVpcOptionsOutput `pulumi:"vpcOptions"` +} + +// NewVpcEndpoint registers a new resource with the given unique name, arguments, and options. +func NewVpcEndpoint(ctx *pulumi.Context, + name string, args *VpcEndpointArgs, opts ...pulumi.ResourceOption) (*VpcEndpoint, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DomainArn == nil { + return nil, errors.New("invalid value for required argument 'DomainArn'") + } + if args.VpcOptions == nil { + return nil, errors.New("invalid value for required argument 'VpcOptions'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcEndpoint + err := ctx.RegisterResource("aws:elasticsearch/vpcEndpoint:VpcEndpoint", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcEndpoint gets an existing VpcEndpoint 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 GetVpcEndpoint(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcEndpointState, opts ...pulumi.ResourceOption) (*VpcEndpoint, error) { + var resource VpcEndpoint + err := ctx.ReadResource("aws:elasticsearch/vpcEndpoint:VpcEndpoint", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcEndpoint resources. +type vpcEndpointState struct { + // Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + DomainArn *string `pulumi:"domainArn"` + // The connection endpoint ID for connecting to the domain. + Endpoint *string `pulumi:"endpoint"` + // Options to specify the subnets and security groups for the endpoint. + VpcOptions *VpcEndpointVpcOptions `pulumi:"vpcOptions"` +} + +type VpcEndpointState struct { + // Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + DomainArn pulumi.StringPtrInput + // The connection endpoint ID for connecting to the domain. + Endpoint pulumi.StringPtrInput + // Options to specify the subnets and security groups for the endpoint. + VpcOptions VpcEndpointVpcOptionsPtrInput +} + +func (VpcEndpointState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcEndpointState)(nil)).Elem() +} + +type vpcEndpointArgs struct { + // Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + DomainArn string `pulumi:"domainArn"` + // Options to specify the subnets and security groups for the endpoint. + VpcOptions VpcEndpointVpcOptions `pulumi:"vpcOptions"` +} + +// The set of arguments for constructing a VpcEndpoint resource. +type VpcEndpointArgs struct { + // Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + DomainArn pulumi.StringInput + // Options to specify the subnets and security groups for the endpoint. + VpcOptions VpcEndpointVpcOptionsInput +} + +func (VpcEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcEndpointArgs)(nil)).Elem() +} + +type VpcEndpointInput interface { + pulumi.Input + + ToVpcEndpointOutput() VpcEndpointOutput + ToVpcEndpointOutputWithContext(ctx context.Context) VpcEndpointOutput +} + +func (*VpcEndpoint) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEndpoint)(nil)).Elem() +} + +func (i *VpcEndpoint) ToVpcEndpointOutput() VpcEndpointOutput { + return i.ToVpcEndpointOutputWithContext(context.Background()) +} + +func (i *VpcEndpoint) ToVpcEndpointOutputWithContext(ctx context.Context) VpcEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointOutput) +} + +func (i *VpcEndpoint) ToOutput(ctx context.Context) pulumix.Output[*VpcEndpoint] { + return pulumix.Output[*VpcEndpoint]{ + OutputState: i.ToVpcEndpointOutputWithContext(ctx).OutputState, + } +} + +// VpcEndpointArrayInput is an input type that accepts VpcEndpointArray and VpcEndpointArrayOutput values. +// You can construct a concrete instance of `VpcEndpointArrayInput` via: +// +// VpcEndpointArray{ VpcEndpointArgs{...} } +type VpcEndpointArrayInput interface { + pulumi.Input + + ToVpcEndpointArrayOutput() VpcEndpointArrayOutput + ToVpcEndpointArrayOutputWithContext(context.Context) VpcEndpointArrayOutput +} + +type VpcEndpointArray []VpcEndpointInput + +func (VpcEndpointArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcEndpoint)(nil)).Elem() +} + +func (i VpcEndpointArray) ToVpcEndpointArrayOutput() VpcEndpointArrayOutput { + return i.ToVpcEndpointArrayOutputWithContext(context.Background()) +} + +func (i VpcEndpointArray) ToVpcEndpointArrayOutputWithContext(ctx context.Context) VpcEndpointArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointArrayOutput) +} + +func (i VpcEndpointArray) ToOutput(ctx context.Context) pulumix.Output[[]*VpcEndpoint] { + return pulumix.Output[[]*VpcEndpoint]{ + OutputState: i.ToVpcEndpointArrayOutputWithContext(ctx).OutputState, + } +} + +// VpcEndpointMapInput is an input type that accepts VpcEndpointMap and VpcEndpointMapOutput values. +// You can construct a concrete instance of `VpcEndpointMapInput` via: +// +// VpcEndpointMap{ "key": VpcEndpointArgs{...} } +type VpcEndpointMapInput interface { + pulumi.Input + + ToVpcEndpointMapOutput() VpcEndpointMapOutput + ToVpcEndpointMapOutputWithContext(context.Context) VpcEndpointMapOutput +} + +type VpcEndpointMap map[string]VpcEndpointInput + +func (VpcEndpointMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcEndpoint)(nil)).Elem() +} + +func (i VpcEndpointMap) ToVpcEndpointMapOutput() VpcEndpointMapOutput { + return i.ToVpcEndpointMapOutputWithContext(context.Background()) +} + +func (i VpcEndpointMap) ToVpcEndpointMapOutputWithContext(ctx context.Context) VpcEndpointMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointMapOutput) +} + +func (i VpcEndpointMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*VpcEndpoint] { + return pulumix.Output[map[string]*VpcEndpoint]{ + OutputState: i.ToVpcEndpointMapOutputWithContext(ctx).OutputState, + } +} + +type VpcEndpointOutput struct{ *pulumi.OutputState } + +func (VpcEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEndpoint)(nil)).Elem() +} + +func (o VpcEndpointOutput) ToVpcEndpointOutput() VpcEndpointOutput { + return o +} + +func (o VpcEndpointOutput) ToVpcEndpointOutputWithContext(ctx context.Context) VpcEndpointOutput { + return o +} + +func (o VpcEndpointOutput) ToOutput(ctx context.Context) pulumix.Output[*VpcEndpoint] { + return pulumix.Output[*VpcEndpoint]{ + OutputState: o.OutputState, + } +} + +// Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for +func (o VpcEndpointOutput) DomainArn() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEndpoint) pulumi.StringOutput { return v.DomainArn }).(pulumi.StringOutput) +} + +// The connection endpoint ID for connecting to the domain. +func (o VpcEndpointOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEndpoint) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) +} + +// Options to specify the subnets and security groups for the endpoint. +func (o VpcEndpointOutput) VpcOptions() VpcEndpointVpcOptionsOutput { + return o.ApplyT(func(v *VpcEndpoint) VpcEndpointVpcOptionsOutput { return v.VpcOptions }).(VpcEndpointVpcOptionsOutput) +} + +type VpcEndpointArrayOutput struct{ *pulumi.OutputState } + +func (VpcEndpointArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcEndpoint)(nil)).Elem() +} + +func (o VpcEndpointArrayOutput) ToVpcEndpointArrayOutput() VpcEndpointArrayOutput { + return o +} + +func (o VpcEndpointArrayOutput) ToVpcEndpointArrayOutputWithContext(ctx context.Context) VpcEndpointArrayOutput { + return o +} + +func (o VpcEndpointArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*VpcEndpoint] { + return pulumix.Output[[]*VpcEndpoint]{ + OutputState: o.OutputState, + } +} + +func (o VpcEndpointArrayOutput) Index(i pulumi.IntInput) VpcEndpointOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcEndpoint { + return vs[0].([]*VpcEndpoint)[vs[1].(int)] + }).(VpcEndpointOutput) +} + +type VpcEndpointMapOutput struct{ *pulumi.OutputState } + +func (VpcEndpointMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcEndpoint)(nil)).Elem() +} + +func (o VpcEndpointMapOutput) ToVpcEndpointMapOutput() VpcEndpointMapOutput { + return o +} + +func (o VpcEndpointMapOutput) ToVpcEndpointMapOutputWithContext(ctx context.Context) VpcEndpointMapOutput { + return o +} + +func (o VpcEndpointMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*VpcEndpoint] { + return pulumix.Output[map[string]*VpcEndpoint]{ + OutputState: o.OutputState, + } +} + +func (o VpcEndpointMapOutput) MapIndex(k pulumi.StringInput) VpcEndpointOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcEndpoint { + return vs[0].(map[string]*VpcEndpoint)[vs[1].(string)] + }).(VpcEndpointOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointInput)(nil)).Elem(), &VpcEndpoint{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointArrayInput)(nil)).Elem(), VpcEndpointArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointMapInput)(nil)).Elem(), VpcEndpointMap{}) + pulumi.RegisterOutputType(VpcEndpointOutput{}) + pulumi.RegisterOutputType(VpcEndpointArrayOutput{}) + pulumi.RegisterOutputType(VpcEndpointMapOutput{}) +} diff --git a/sdk/go/aws/elb/loadBalancer.go b/sdk/go/aws/elb/loadBalancer.go index 08f93665c9a..952bb433006 100644 --- a/sdk/go/aws/elb/loadBalancer.go +++ b/sdk/go/aws/elb/loadBalancer.go @@ -140,7 +140,7 @@ type LoadBalancer struct { Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // A list of security group IDs to assign to the ELB. // Only valid if creating an ELB within a VPC SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` @@ -601,8 +601,8 @@ func (o LoadBalancerOutput) Name() pulumi.StringOutput { // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. -func (o LoadBalancerOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o LoadBalancerOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // A list of security group IDs to assign to the ELB. diff --git a/sdk/go/aws/emr/securityConfiguration.go b/sdk/go/aws/emr/securityConfiguration.go index b11b3b34edf..b632d506df4 100644 --- a/sdk/go/aws/emr/securityConfiguration.go +++ b/sdk/go/aws/emr/securityConfiguration.go @@ -78,7 +78,7 @@ type SecurityConfiguration struct { Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` } // NewSecurityConfiguration registers a new resource with the given unique name, arguments, and options. @@ -290,8 +290,8 @@ func (o SecurityConfigurationOutput) Name() pulumi.StringOutput { // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. -func (o SecurityConfigurationOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o SecurityConfigurationOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } type SecurityConfigurationArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/aws/glue/crawler.go b/sdk/go/aws/glue/crawler.go index 5c0b3728e66..9b4e3fc3be2 100644 --- a/sdk/go/aws/glue/crawler.go +++ b/sdk/go/aws/glue/crawler.go @@ -270,9 +270,9 @@ type Crawler struct { Description pulumi.StringPtrOutput `pulumi:"description"` // List of nested DynamoDB target arguments. See Dynamodb Target below. DynamodbTargets CrawlerDynamodbTargetArrayOutput `pulumi:"dynamodbTargets"` - // List nested Hudi target arguments. See Iceberg Target below. + // List of nested Hudi target arguments. See Iceberg Target below. HudiTargets CrawlerHudiTargetArrayOutput `pulumi:"hudiTargets"` - // List nested Iceberg target arguments. See Iceberg Target below. + // List of nested Iceberg target arguments. See Iceberg Target below. IcebergTargets CrawlerIcebergTargetArrayOutput `pulumi:"icebergTargets"` // List of nested JBDC target arguments. See JDBC Target below. JdbcTargets CrawlerJdbcTargetArrayOutput `pulumi:"jdbcTargets"` @@ -280,7 +280,7 @@ type Crawler struct { LakeFormationConfiguration CrawlerLakeFormationConfigurationPtrOutput `pulumi:"lakeFormationConfiguration"` // Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. LineageConfiguration CrawlerLineageConfigurationPtrOutput `pulumi:"lineageConfiguration"` - // List nested MongoDB target arguments. See MongoDB Target below. + // List of nested MongoDB target arguments. See MongoDB Target below. MongodbTargets CrawlerMongodbTargetArrayOutput `pulumi:"mongodbTargets"` // Name of the crawler. Name pulumi.StringOutput `pulumi:"name"` @@ -288,7 +288,7 @@ type Crawler struct { RecrawlPolicy CrawlerRecrawlPolicyPtrOutput `pulumi:"recrawlPolicy"` // The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. Role pulumi.StringOutput `pulumi:"role"` - // List nested Amazon S3 target arguments. See S3 Target below. + // List of nested Amazon S3 target arguments. See S3 Target below. S3Targets CrawlerS3TargetArrayOutput `pulumi:"s3Targets"` // A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. Schedule pulumi.StringPtrOutput `pulumi:"schedule"` @@ -361,9 +361,9 @@ type crawlerState struct { Description *string `pulumi:"description"` // List of nested DynamoDB target arguments. See Dynamodb Target below. DynamodbTargets []CrawlerDynamodbTarget `pulumi:"dynamodbTargets"` - // List nested Hudi target arguments. See Iceberg Target below. + // List of nested Hudi target arguments. See Iceberg Target below. HudiTargets []CrawlerHudiTarget `pulumi:"hudiTargets"` - // List nested Iceberg target arguments. See Iceberg Target below. + // List of nested Iceberg target arguments. See Iceberg Target below. IcebergTargets []CrawlerIcebergTarget `pulumi:"icebergTargets"` // List of nested JBDC target arguments. See JDBC Target below. JdbcTargets []CrawlerJdbcTarget `pulumi:"jdbcTargets"` @@ -371,7 +371,7 @@ type crawlerState struct { LakeFormationConfiguration *CrawlerLakeFormationConfiguration `pulumi:"lakeFormationConfiguration"` // Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. LineageConfiguration *CrawlerLineageConfiguration `pulumi:"lineageConfiguration"` - // List nested MongoDB target arguments. See MongoDB Target below. + // List of nested MongoDB target arguments. See MongoDB Target below. MongodbTargets []CrawlerMongodbTarget `pulumi:"mongodbTargets"` // Name of the crawler. Name *string `pulumi:"name"` @@ -379,7 +379,7 @@ type crawlerState struct { RecrawlPolicy *CrawlerRecrawlPolicy `pulumi:"recrawlPolicy"` // The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. Role *string `pulumi:"role"` - // List nested Amazon S3 target arguments. See S3 Target below. + // List of nested Amazon S3 target arguments. See S3 Target below. S3Targets []CrawlerS3Target `pulumi:"s3Targets"` // A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. Schedule *string `pulumi:"schedule"` @@ -413,9 +413,9 @@ type CrawlerState struct { Description pulumi.StringPtrInput // List of nested DynamoDB target arguments. See Dynamodb Target below. DynamodbTargets CrawlerDynamodbTargetArrayInput - // List nested Hudi target arguments. See Iceberg Target below. + // List of nested Hudi target arguments. See Iceberg Target below. HudiTargets CrawlerHudiTargetArrayInput - // List nested Iceberg target arguments. See Iceberg Target below. + // List of nested Iceberg target arguments. See Iceberg Target below. IcebergTargets CrawlerIcebergTargetArrayInput // List of nested JBDC target arguments. See JDBC Target below. JdbcTargets CrawlerJdbcTargetArrayInput @@ -423,7 +423,7 @@ type CrawlerState struct { LakeFormationConfiguration CrawlerLakeFormationConfigurationPtrInput // Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. LineageConfiguration CrawlerLineageConfigurationPtrInput - // List nested MongoDB target arguments. See MongoDB Target below. + // List of nested MongoDB target arguments. See MongoDB Target below. MongodbTargets CrawlerMongodbTargetArrayInput // Name of the crawler. Name pulumi.StringPtrInput @@ -431,7 +431,7 @@ type CrawlerState struct { RecrawlPolicy CrawlerRecrawlPolicyPtrInput // The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. Role pulumi.StringPtrInput - // List nested Amazon S3 target arguments. See S3 Target below. + // List of nested Amazon S3 target arguments. See S3 Target below. S3Targets CrawlerS3TargetArrayInput // A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. Schedule pulumi.StringPtrInput @@ -467,9 +467,9 @@ type crawlerArgs struct { Description *string `pulumi:"description"` // List of nested DynamoDB target arguments. See Dynamodb Target below. DynamodbTargets []CrawlerDynamodbTarget `pulumi:"dynamodbTargets"` - // List nested Hudi target arguments. See Iceberg Target below. + // List of nested Hudi target arguments. See Iceberg Target below. HudiTargets []CrawlerHudiTarget `pulumi:"hudiTargets"` - // List nested Iceberg target arguments. See Iceberg Target below. + // List of nested Iceberg target arguments. See Iceberg Target below. IcebergTargets []CrawlerIcebergTarget `pulumi:"icebergTargets"` // List of nested JBDC target arguments. See JDBC Target below. JdbcTargets []CrawlerJdbcTarget `pulumi:"jdbcTargets"` @@ -477,7 +477,7 @@ type crawlerArgs struct { LakeFormationConfiguration *CrawlerLakeFormationConfiguration `pulumi:"lakeFormationConfiguration"` // Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. LineageConfiguration *CrawlerLineageConfiguration `pulumi:"lineageConfiguration"` - // List nested MongoDB target arguments. See MongoDB Target below. + // List of nested MongoDB target arguments. See MongoDB Target below. MongodbTargets []CrawlerMongodbTarget `pulumi:"mongodbTargets"` // Name of the crawler. Name *string `pulumi:"name"` @@ -485,7 +485,7 @@ type crawlerArgs struct { RecrawlPolicy *CrawlerRecrawlPolicy `pulumi:"recrawlPolicy"` // The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. Role string `pulumi:"role"` - // List nested Amazon S3 target arguments. See S3 Target below. + // List of nested Amazon S3 target arguments. See S3 Target below. S3Targets []CrawlerS3Target `pulumi:"s3Targets"` // A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. Schedule *string `pulumi:"schedule"` @@ -514,9 +514,9 @@ type CrawlerArgs struct { Description pulumi.StringPtrInput // List of nested DynamoDB target arguments. See Dynamodb Target below. DynamodbTargets CrawlerDynamodbTargetArrayInput - // List nested Hudi target arguments. See Iceberg Target below. + // List of nested Hudi target arguments. See Iceberg Target below. HudiTargets CrawlerHudiTargetArrayInput - // List nested Iceberg target arguments. See Iceberg Target below. + // List of nested Iceberg target arguments. See Iceberg Target below. IcebergTargets CrawlerIcebergTargetArrayInput // List of nested JBDC target arguments. See JDBC Target below. JdbcTargets CrawlerJdbcTargetArrayInput @@ -524,7 +524,7 @@ type CrawlerArgs struct { LakeFormationConfiguration CrawlerLakeFormationConfigurationPtrInput // Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. LineageConfiguration CrawlerLineageConfigurationPtrInput - // List nested MongoDB target arguments. See MongoDB Target below. + // List of nested MongoDB target arguments. See MongoDB Target below. MongodbTargets CrawlerMongodbTargetArrayInput // Name of the crawler. Name pulumi.StringPtrInput @@ -532,7 +532,7 @@ type CrawlerArgs struct { RecrawlPolicy CrawlerRecrawlPolicyPtrInput // The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. Role pulumi.StringInput - // List nested Amazon S3 target arguments. See S3 Target below. + // List of nested Amazon S3 target arguments. See S3 Target below. S3Targets CrawlerS3TargetArrayInput // A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. Schedule pulumi.StringPtrInput @@ -696,12 +696,12 @@ func (o CrawlerOutput) DynamodbTargets() CrawlerDynamodbTargetArrayOutput { return o.ApplyT(func(v *Crawler) CrawlerDynamodbTargetArrayOutput { return v.DynamodbTargets }).(CrawlerDynamodbTargetArrayOutput) } -// List nested Hudi target arguments. See Iceberg Target below. +// List of nested Hudi target arguments. See Iceberg Target below. func (o CrawlerOutput) HudiTargets() CrawlerHudiTargetArrayOutput { return o.ApplyT(func(v *Crawler) CrawlerHudiTargetArrayOutput { return v.HudiTargets }).(CrawlerHudiTargetArrayOutput) } -// List nested Iceberg target arguments. See Iceberg Target below. +// List of nested Iceberg target arguments. See Iceberg Target below. func (o CrawlerOutput) IcebergTargets() CrawlerIcebergTargetArrayOutput { return o.ApplyT(func(v *Crawler) CrawlerIcebergTargetArrayOutput { return v.IcebergTargets }).(CrawlerIcebergTargetArrayOutput) } @@ -721,7 +721,7 @@ func (o CrawlerOutput) LineageConfiguration() CrawlerLineageConfigurationPtrOutp return o.ApplyT(func(v *Crawler) CrawlerLineageConfigurationPtrOutput { return v.LineageConfiguration }).(CrawlerLineageConfigurationPtrOutput) } -// List nested MongoDB target arguments. See MongoDB Target below. +// List of nested MongoDB target arguments. See MongoDB Target below. func (o CrawlerOutput) MongodbTargets() CrawlerMongodbTargetArrayOutput { return o.ApplyT(func(v *Crawler) CrawlerMongodbTargetArrayOutput { return v.MongodbTargets }).(CrawlerMongodbTargetArrayOutput) } @@ -741,7 +741,7 @@ func (o CrawlerOutput) Role() pulumi.StringOutput { return o.ApplyT(func(v *Crawler) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) } -// List nested Amazon S3 target arguments. See S3 Target below. +// List of nested Amazon S3 target arguments. See S3 Target below. func (o CrawlerOutput) S3Targets() CrawlerS3TargetArrayOutput { return o.ApplyT(func(v *Crawler) CrawlerS3TargetArrayOutput { return v.S3Targets }).(CrawlerS3TargetArrayOutput) } diff --git a/sdk/go/aws/iam/groupPolicy.go b/sdk/go/aws/iam/groupPolicy.go index 4181c35c69b..dc9c3e8a484 100644 --- a/sdk/go/aws/iam/groupPolicy.go +++ b/sdk/go/aws/iam/groupPolicy.go @@ -85,7 +85,7 @@ type GroupPolicy struct { Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The policy document. This is a JSON formatted string. Policy pulumi.StringOutput `pulumi:"policy"` } @@ -306,8 +306,8 @@ func (o GroupPolicyOutput) Name() pulumi.StringOutput { // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. -func (o GroupPolicyOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GroupPolicy) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o GroupPolicyOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *GroupPolicy) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // The policy document. This is a JSON formatted string. diff --git a/sdk/go/aws/iam/rolePolicy.go b/sdk/go/aws/iam/rolePolicy.go index 24f89d05ac7..c5bdbfb49bc 100644 --- a/sdk/go/aws/iam/rolePolicy.go +++ b/sdk/go/aws/iam/rolePolicy.go @@ -102,7 +102,7 @@ type RolePolicy struct { Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The inline policy document. This is a JSON formatted string. For more information about building IAM policy documents with the provider, see the AWS IAM Policy Document Guide Policy pulumi.StringOutput `pulumi:"policy"` // The name of the IAM role to attach to the policy. @@ -320,8 +320,8 @@ func (o RolePolicyOutput) Name() pulumi.StringOutput { // Creates a unique name beginning with the specified // prefix. Conflicts with `name`. -func (o RolePolicyOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RolePolicy) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o RolePolicyOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *RolePolicy) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // The inline policy document. This is a JSON formatted string. For more information about building IAM policy documents with the provider, see the AWS IAM Policy Document Guide diff --git a/sdk/go/aws/iam/userPolicy.go b/sdk/go/aws/iam/userPolicy.go index d19153250e9..1402124c944 100644 --- a/sdk/go/aws/iam/userPolicy.go +++ b/sdk/go/aws/iam/userPolicy.go @@ -87,7 +87,7 @@ type UserPolicy struct { // The name of the policy. If omitted, the provider will assign a random, unique name. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The policy document. This is a JSON formatted string. Policy pulumi.StringOutput `pulumi:"policy"` // IAM user to which to attach this policy. @@ -295,8 +295,8 @@ func (o UserPolicyOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. -func (o UserPolicyOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *UserPolicy) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o UserPolicyOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *UserPolicy) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // The policy document. This is a JSON formatted string. diff --git a/sdk/go/aws/imagebuilder/getImage.go b/sdk/go/aws/imagebuilder/getImage.go index c546460cbb0..0237dc41e14 100644 --- a/sdk/go/aws/imagebuilder/getImage.go +++ b/sdk/go/aws/imagebuilder/getImage.go @@ -75,6 +75,8 @@ type LookupImageResult struct { Id string `pulumi:"id"` // ARN of the image recipe. ImageRecipeArn string `pulumi:"imageRecipeArn"` + // List of an object with image scanning configuration fields. + ImageScanningConfigurations []GetImageImageScanningConfiguration `pulumi:"imageScanningConfigurations"` // List of an object with image tests configuration. ImageTestsConfigurations []GetImageImageTestsConfiguration `pulumi:"imageTestsConfigurations"` // ARN of the Image Builder Infrastructure Configuration. @@ -178,6 +180,11 @@ func (o LookupImageResultOutput) ImageRecipeArn() pulumi.StringOutput { return o.ApplyT(func(v LookupImageResult) string { return v.ImageRecipeArn }).(pulumi.StringOutput) } +// List of an object with image scanning configuration fields. +func (o LookupImageResultOutput) ImageScanningConfigurations() GetImageImageScanningConfigurationArrayOutput { + return o.ApplyT(func(v LookupImageResult) []GetImageImageScanningConfiguration { return v.ImageScanningConfigurations }).(GetImageImageScanningConfigurationArrayOutput) +} + // List of an object with image tests configuration. func (o LookupImageResultOutput) ImageTestsConfigurations() GetImageImageTestsConfigurationArrayOutput { return o.ApplyT(func(v LookupImageResult) []GetImageImageTestsConfiguration { return v.ImageTestsConfigurations }).(GetImageImageTestsConfigurationArrayOutput) diff --git a/sdk/go/aws/imagebuilder/image.go b/sdk/go/aws/imagebuilder/image.go index 6a4b5c5bc58..568016b229d 100644 --- a/sdk/go/aws/imagebuilder/image.go +++ b/sdk/go/aws/imagebuilder/image.go @@ -67,6 +67,8 @@ type Image struct { EnhancedImageMetadataEnabled pulumi.BoolPtrOutput `pulumi:"enhancedImageMetadataEnabled"` // Amazon Resource Name (ARN) of the image recipe. ImageRecipeArn pulumi.StringPtrOutput `pulumi:"imageRecipeArn"` + // Configuration block with image scanning configuration. Detailed below. + ImageScanningConfiguration ImageImageScanningConfigurationOutput `pulumi:"imageScanningConfiguration"` // Configuration block with image tests configuration. Detailed below. ImageTestsConfiguration ImageImageTestsConfigurationOutput `pulumi:"imageTestsConfiguration"` // Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -140,6 +142,8 @@ type imageState struct { EnhancedImageMetadataEnabled *bool `pulumi:"enhancedImageMetadataEnabled"` // Amazon Resource Name (ARN) of the image recipe. ImageRecipeArn *string `pulumi:"imageRecipeArn"` + // Configuration block with image scanning configuration. Detailed below. + ImageScanningConfiguration *ImageImageScanningConfiguration `pulumi:"imageScanningConfiguration"` // Configuration block with image tests configuration. Detailed below. ImageTestsConfiguration *ImageImageTestsConfiguration `pulumi:"imageTestsConfiguration"` // Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -177,6 +181,8 @@ type ImageState struct { EnhancedImageMetadataEnabled pulumi.BoolPtrInput // Amazon Resource Name (ARN) of the image recipe. ImageRecipeArn pulumi.StringPtrInput + // Configuration block with image scanning configuration. Detailed below. + ImageScanningConfiguration ImageImageScanningConfigurationPtrInput // Configuration block with image tests configuration. Detailed below. ImageTestsConfiguration ImageImageTestsConfigurationPtrInput // Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -214,6 +220,8 @@ type imageArgs struct { EnhancedImageMetadataEnabled *bool `pulumi:"enhancedImageMetadataEnabled"` // Amazon Resource Name (ARN) of the image recipe. ImageRecipeArn *string `pulumi:"imageRecipeArn"` + // Configuration block with image scanning configuration. Detailed below. + ImageScanningConfiguration *ImageImageScanningConfiguration `pulumi:"imageScanningConfiguration"` // Configuration block with image tests configuration. Detailed below. ImageTestsConfiguration *ImageImageTestsConfiguration `pulumi:"imageTestsConfiguration"` // Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -234,6 +242,8 @@ type ImageArgs struct { EnhancedImageMetadataEnabled pulumi.BoolPtrInput // Amazon Resource Name (ARN) of the image recipe. ImageRecipeArn pulumi.StringPtrInput + // Configuration block with image scanning configuration. Detailed below. + ImageScanningConfiguration ImageImageScanningConfigurationPtrInput // Configuration block with image tests configuration. Detailed below. ImageTestsConfiguration ImageImageTestsConfigurationPtrInput // Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -385,6 +395,11 @@ func (o ImageOutput) ImageRecipeArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Image) pulumi.StringPtrOutput { return v.ImageRecipeArn }).(pulumi.StringPtrOutput) } +// Configuration block with image scanning configuration. Detailed below. +func (o ImageOutput) ImageScanningConfiguration() ImageImageScanningConfigurationOutput { + return o.ApplyT(func(v *Image) ImageImageScanningConfigurationOutput { return v.ImageScanningConfiguration }).(ImageImageScanningConfigurationOutput) +} + // Configuration block with image tests configuration. Detailed below. func (o ImageOutput) ImageTestsConfiguration() ImageImageTestsConfigurationOutput { return o.ApplyT(func(v *Image) ImageImageTestsConfigurationOutput { return v.ImageTestsConfiguration }).(ImageImageTestsConfigurationOutput) diff --git a/sdk/go/aws/imagebuilder/pulumiTypes.go b/sdk/go/aws/imagebuilder/pulumiTypes.go index ef902cfcd7b..a77d6fc64f9 100644 --- a/sdk/go/aws/imagebuilder/pulumiTypes.go +++ b/sdk/go/aws/imagebuilder/pulumiTypes.go @@ -2813,6 +2813,368 @@ func (o DistributionConfigurationDistributionLaunchTemplateConfigurationArrayOut }).(DistributionConfigurationDistributionLaunchTemplateConfigurationOutput) } +type ImageImageScanningConfiguration struct { + // Configuration block with ECR configuration. Detailed below. + EcrConfiguration *ImageImageScanningConfigurationEcrConfiguration `pulumi:"ecrConfiguration"` + // Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + ImageScanningEnabled *bool `pulumi:"imageScanningEnabled"` +} + +// ImageImageScanningConfigurationInput is an input type that accepts ImageImageScanningConfigurationArgs and ImageImageScanningConfigurationOutput values. +// You can construct a concrete instance of `ImageImageScanningConfigurationInput` via: +// +// ImageImageScanningConfigurationArgs{...} +type ImageImageScanningConfigurationInput interface { + pulumi.Input + + ToImageImageScanningConfigurationOutput() ImageImageScanningConfigurationOutput + ToImageImageScanningConfigurationOutputWithContext(context.Context) ImageImageScanningConfigurationOutput +} + +type ImageImageScanningConfigurationArgs struct { + // Configuration block with ECR configuration. Detailed below. + EcrConfiguration ImageImageScanningConfigurationEcrConfigurationPtrInput `pulumi:"ecrConfiguration"` + // Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + ImageScanningEnabled pulumi.BoolPtrInput `pulumi:"imageScanningEnabled"` +} + +func (ImageImageScanningConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ImageImageScanningConfiguration)(nil)).Elem() +} + +func (i ImageImageScanningConfigurationArgs) ToImageImageScanningConfigurationOutput() ImageImageScanningConfigurationOutput { + return i.ToImageImageScanningConfigurationOutputWithContext(context.Background()) +} + +func (i ImageImageScanningConfigurationArgs) ToImageImageScanningConfigurationOutputWithContext(ctx context.Context) ImageImageScanningConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationOutput) +} + +func (i ImageImageScanningConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[ImageImageScanningConfiguration] { + return pulumix.Output[ImageImageScanningConfiguration]{ + OutputState: i.ToImageImageScanningConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i ImageImageScanningConfigurationArgs) ToImageImageScanningConfigurationPtrOutput() ImageImageScanningConfigurationPtrOutput { + return i.ToImageImageScanningConfigurationPtrOutputWithContext(context.Background()) +} + +func (i ImageImageScanningConfigurationArgs) ToImageImageScanningConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationOutput).ToImageImageScanningConfigurationPtrOutputWithContext(ctx) +} + +// ImageImageScanningConfigurationPtrInput is an input type that accepts ImageImageScanningConfigurationArgs, ImageImageScanningConfigurationPtr and ImageImageScanningConfigurationPtrOutput values. +// You can construct a concrete instance of `ImageImageScanningConfigurationPtrInput` via: +// +// ImageImageScanningConfigurationArgs{...} +// +// or: +// +// nil +type ImageImageScanningConfigurationPtrInput interface { + pulumi.Input + + ToImageImageScanningConfigurationPtrOutput() ImageImageScanningConfigurationPtrOutput + ToImageImageScanningConfigurationPtrOutputWithContext(context.Context) ImageImageScanningConfigurationPtrOutput +} + +type imageImageScanningConfigurationPtrType ImageImageScanningConfigurationArgs + +func ImageImageScanningConfigurationPtr(v *ImageImageScanningConfigurationArgs) ImageImageScanningConfigurationPtrInput { + return (*imageImageScanningConfigurationPtrType)(v) +} + +func (*imageImageScanningConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ImageImageScanningConfiguration)(nil)).Elem() +} + +func (i *imageImageScanningConfigurationPtrType) ToImageImageScanningConfigurationPtrOutput() ImageImageScanningConfigurationPtrOutput { + return i.ToImageImageScanningConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *imageImageScanningConfigurationPtrType) ToImageImageScanningConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationPtrOutput) +} + +func (i *imageImageScanningConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*ImageImageScanningConfiguration] { + return pulumix.Output[*ImageImageScanningConfiguration]{ + OutputState: i.ToImageImageScanningConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type ImageImageScanningConfigurationOutput struct{ *pulumi.OutputState } + +func (ImageImageScanningConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ImageImageScanningConfiguration)(nil)).Elem() +} + +func (o ImageImageScanningConfigurationOutput) ToImageImageScanningConfigurationOutput() ImageImageScanningConfigurationOutput { + return o +} + +func (o ImageImageScanningConfigurationOutput) ToImageImageScanningConfigurationOutputWithContext(ctx context.Context) ImageImageScanningConfigurationOutput { + return o +} + +func (o ImageImageScanningConfigurationOutput) ToImageImageScanningConfigurationPtrOutput() ImageImageScanningConfigurationPtrOutput { + return o.ToImageImageScanningConfigurationPtrOutputWithContext(context.Background()) +} + +func (o ImageImageScanningConfigurationOutput) ToImageImageScanningConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageImageScanningConfiguration) *ImageImageScanningConfiguration { + return &v + }).(ImageImageScanningConfigurationPtrOutput) +} + +func (o ImageImageScanningConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[ImageImageScanningConfiguration] { + return pulumix.Output[ImageImageScanningConfiguration]{ + OutputState: o.OutputState, + } +} + +// Configuration block with ECR configuration. Detailed below. +func (o ImageImageScanningConfigurationOutput) EcrConfiguration() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o.ApplyT(func(v ImageImageScanningConfiguration) *ImageImageScanningConfigurationEcrConfiguration { + return v.EcrConfiguration + }).(ImageImageScanningConfigurationEcrConfigurationPtrOutput) +} + +// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. +func (o ImageImageScanningConfigurationOutput) ImageScanningEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ImageImageScanningConfiguration) *bool { return v.ImageScanningEnabled }).(pulumi.BoolPtrOutput) +} + +type ImageImageScanningConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ImageImageScanningConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ImageImageScanningConfiguration)(nil)).Elem() +} + +func (o ImageImageScanningConfigurationPtrOutput) ToImageImageScanningConfigurationPtrOutput() ImageImageScanningConfigurationPtrOutput { + return o +} + +func (o ImageImageScanningConfigurationPtrOutput) ToImageImageScanningConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationPtrOutput { + return o +} + +func (o ImageImageScanningConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ImageImageScanningConfiguration] { + return pulumix.Output[*ImageImageScanningConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o ImageImageScanningConfigurationPtrOutput) Elem() ImageImageScanningConfigurationOutput { + return o.ApplyT(func(v *ImageImageScanningConfiguration) ImageImageScanningConfiguration { + if v != nil { + return *v + } + var ret ImageImageScanningConfiguration + return ret + }).(ImageImageScanningConfigurationOutput) +} + +// Configuration block with ECR configuration. Detailed below. +func (o ImageImageScanningConfigurationPtrOutput) EcrConfiguration() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o.ApplyT(func(v *ImageImageScanningConfiguration) *ImageImageScanningConfigurationEcrConfiguration { + if v == nil { + return nil + } + return v.EcrConfiguration + }).(ImageImageScanningConfigurationEcrConfigurationPtrOutput) +} + +// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. +func (o ImageImageScanningConfigurationPtrOutput) ImageScanningEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageImageScanningConfiguration) *bool { + if v == nil { + return nil + } + return v.ImageScanningEnabled + }).(pulumi.BoolPtrOutput) +} + +type ImageImageScanningConfigurationEcrConfiguration struct { + // Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + ContainerTags []string `pulumi:"containerTags"` + // The name of the container repository that Amazon Inspector scans to identify findings for your container images. + RepositoryName *string `pulumi:"repositoryName"` +} + +// ImageImageScanningConfigurationEcrConfigurationInput is an input type that accepts ImageImageScanningConfigurationEcrConfigurationArgs and ImageImageScanningConfigurationEcrConfigurationOutput values. +// You can construct a concrete instance of `ImageImageScanningConfigurationEcrConfigurationInput` via: +// +// ImageImageScanningConfigurationEcrConfigurationArgs{...} +type ImageImageScanningConfigurationEcrConfigurationInput interface { + pulumi.Input + + ToImageImageScanningConfigurationEcrConfigurationOutput() ImageImageScanningConfigurationEcrConfigurationOutput + ToImageImageScanningConfigurationEcrConfigurationOutputWithContext(context.Context) ImageImageScanningConfigurationEcrConfigurationOutput +} + +type ImageImageScanningConfigurationEcrConfigurationArgs struct { + // Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + ContainerTags pulumi.StringArrayInput `pulumi:"containerTags"` + // The name of the container repository that Amazon Inspector scans to identify findings for your container images. + RepositoryName pulumi.StringPtrInput `pulumi:"repositoryName"` +} + +func (ImageImageScanningConfigurationEcrConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (i ImageImageScanningConfigurationEcrConfigurationArgs) ToImageImageScanningConfigurationEcrConfigurationOutput() ImageImageScanningConfigurationEcrConfigurationOutput { + return i.ToImageImageScanningConfigurationEcrConfigurationOutputWithContext(context.Background()) +} + +func (i ImageImageScanningConfigurationEcrConfigurationArgs) ToImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationEcrConfigurationOutput) +} + +func (i ImageImageScanningConfigurationEcrConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[ImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[ImageImageScanningConfigurationEcrConfiguration]{ + OutputState: i.ToImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i ImageImageScanningConfigurationEcrConfigurationArgs) ToImageImageScanningConfigurationEcrConfigurationPtrOutput() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return i.ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(context.Background()) +} + +func (i ImageImageScanningConfigurationEcrConfigurationArgs) ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationEcrConfigurationOutput).ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx) +} + +// ImageImageScanningConfigurationEcrConfigurationPtrInput is an input type that accepts ImageImageScanningConfigurationEcrConfigurationArgs, ImageImageScanningConfigurationEcrConfigurationPtr and ImageImageScanningConfigurationEcrConfigurationPtrOutput values. +// You can construct a concrete instance of `ImageImageScanningConfigurationEcrConfigurationPtrInput` via: +// +// ImageImageScanningConfigurationEcrConfigurationArgs{...} +// +// or: +// +// nil +type ImageImageScanningConfigurationEcrConfigurationPtrInput interface { + pulumi.Input + + ToImageImageScanningConfigurationEcrConfigurationPtrOutput() ImageImageScanningConfigurationEcrConfigurationPtrOutput + ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(context.Context) ImageImageScanningConfigurationEcrConfigurationPtrOutput +} + +type imageImageScanningConfigurationEcrConfigurationPtrType ImageImageScanningConfigurationEcrConfigurationArgs + +func ImageImageScanningConfigurationEcrConfigurationPtr(v *ImageImageScanningConfigurationEcrConfigurationArgs) ImageImageScanningConfigurationEcrConfigurationPtrInput { + return (*imageImageScanningConfigurationEcrConfigurationPtrType)(v) +} + +func (*imageImageScanningConfigurationEcrConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (i *imageImageScanningConfigurationEcrConfigurationPtrType) ToImageImageScanningConfigurationEcrConfigurationPtrOutput() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return i.ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *imageImageScanningConfigurationEcrConfigurationPtrType) ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageImageScanningConfigurationEcrConfigurationPtrOutput) +} + +func (i *imageImageScanningConfigurationEcrConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*ImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[*ImageImageScanningConfigurationEcrConfiguration]{ + OutputState: i.ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type ImageImageScanningConfigurationEcrConfigurationOutput struct{ *pulumi.OutputState } + +func (ImageImageScanningConfigurationEcrConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ToImageImageScanningConfigurationEcrConfigurationOutput() ImageImageScanningConfigurationEcrConfigurationOutput { + return o +} + +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ToImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationOutput { + return o +} + +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ToImageImageScanningConfigurationEcrConfigurationPtrOutput() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o.ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(context.Background()) +} + +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageImageScanningConfigurationEcrConfiguration) *ImageImageScanningConfigurationEcrConfiguration { + return &v + }).(ImageImageScanningConfigurationEcrConfigurationPtrOutput) +} + +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[ImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[ImageImageScanningConfigurationEcrConfiguration]{ + OutputState: o.OutputState, + } +} + +// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. +func (o ImageImageScanningConfigurationEcrConfigurationOutput) ContainerTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v ImageImageScanningConfigurationEcrConfiguration) []string { return v.ContainerTags }).(pulumi.StringArrayOutput) +} + +// The name of the container repository that Amazon Inspector scans to identify findings for your container images. +func (o ImageImageScanningConfigurationEcrConfigurationOutput) RepositoryName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageImageScanningConfigurationEcrConfiguration) *string { return v.RepositoryName }).(pulumi.StringPtrOutput) +} + +type ImageImageScanningConfigurationEcrConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ImageImageScanningConfigurationEcrConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) ToImageImageScanningConfigurationEcrConfigurationPtrOutput() ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o +} + +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) ToImageImageScanningConfigurationEcrConfigurationPtrOutputWithContext(ctx context.Context) ImageImageScanningConfigurationEcrConfigurationPtrOutput { + return o +} + +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[*ImageImageScanningConfigurationEcrConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) Elem() ImageImageScanningConfigurationEcrConfigurationOutput { + return o.ApplyT(func(v *ImageImageScanningConfigurationEcrConfiguration) ImageImageScanningConfigurationEcrConfiguration { + if v != nil { + return *v + } + var ret ImageImageScanningConfigurationEcrConfiguration + return ret + }).(ImageImageScanningConfigurationEcrConfigurationOutput) +} + +// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) ContainerTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ImageImageScanningConfigurationEcrConfiguration) []string { + if v == nil { + return nil + } + return v.ContainerTags + }).(pulumi.StringArrayOutput) +} + +// The name of the container repository that Amazon Inspector scans to identify findings for your container images. +func (o ImageImageScanningConfigurationEcrConfigurationPtrOutput) RepositoryName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageImageScanningConfigurationEcrConfiguration) *string { + if v == nil { + return nil + } + return v.RepositoryName + }).(pulumi.StringPtrOutput) +} + type ImageImageTestsConfiguration struct { // Whether image tests are enabled. Defaults to `true`. ImageTestsEnabled *bool `pulumi:"imageTestsEnabled"` @@ -8148,6 +8510,268 @@ func (o GetDistributionConfigurationsFilterArrayOutput) Index(i pulumi.IntInput) }).(GetDistributionConfigurationsFilterOutput) } +type GetImageImageScanningConfiguration struct { + // Configuration block with ECR configuration. + EcrConfigurations []GetImageImageScanningConfigurationEcrConfiguration `pulumi:"ecrConfigurations"` + // Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + ImageScanningEnabled bool `pulumi:"imageScanningEnabled"` +} + +// GetImageImageScanningConfigurationInput is an input type that accepts GetImageImageScanningConfigurationArgs and GetImageImageScanningConfigurationOutput values. +// You can construct a concrete instance of `GetImageImageScanningConfigurationInput` via: +// +// GetImageImageScanningConfigurationArgs{...} +type GetImageImageScanningConfigurationInput interface { + pulumi.Input + + ToGetImageImageScanningConfigurationOutput() GetImageImageScanningConfigurationOutput + ToGetImageImageScanningConfigurationOutputWithContext(context.Context) GetImageImageScanningConfigurationOutput +} + +type GetImageImageScanningConfigurationArgs struct { + // Configuration block with ECR configuration. + EcrConfigurations GetImageImageScanningConfigurationEcrConfigurationArrayInput `pulumi:"ecrConfigurations"` + // Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + ImageScanningEnabled pulumi.BoolInput `pulumi:"imageScanningEnabled"` +} + +func (GetImageImageScanningConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageImageScanningConfiguration)(nil)).Elem() +} + +func (i GetImageImageScanningConfigurationArgs) ToGetImageImageScanningConfigurationOutput() GetImageImageScanningConfigurationOutput { + return i.ToGetImageImageScanningConfigurationOutputWithContext(context.Background()) +} + +func (i GetImageImageScanningConfigurationArgs) ToGetImageImageScanningConfigurationOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageImageScanningConfigurationOutput) +} + +func (i GetImageImageScanningConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[GetImageImageScanningConfiguration] { + return pulumix.Output[GetImageImageScanningConfiguration]{ + OutputState: i.ToGetImageImageScanningConfigurationOutputWithContext(ctx).OutputState, + } +} + +// GetImageImageScanningConfigurationArrayInput is an input type that accepts GetImageImageScanningConfigurationArray and GetImageImageScanningConfigurationArrayOutput values. +// You can construct a concrete instance of `GetImageImageScanningConfigurationArrayInput` via: +// +// GetImageImageScanningConfigurationArray{ GetImageImageScanningConfigurationArgs{...} } +type GetImageImageScanningConfigurationArrayInput interface { + pulumi.Input + + ToGetImageImageScanningConfigurationArrayOutput() GetImageImageScanningConfigurationArrayOutput + ToGetImageImageScanningConfigurationArrayOutputWithContext(context.Context) GetImageImageScanningConfigurationArrayOutput +} + +type GetImageImageScanningConfigurationArray []GetImageImageScanningConfigurationInput + +func (GetImageImageScanningConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetImageImageScanningConfiguration)(nil)).Elem() +} + +func (i GetImageImageScanningConfigurationArray) ToGetImageImageScanningConfigurationArrayOutput() GetImageImageScanningConfigurationArrayOutput { + return i.ToGetImageImageScanningConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetImageImageScanningConfigurationArray) ToGetImageImageScanningConfigurationArrayOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageImageScanningConfigurationArrayOutput) +} + +func (i GetImageImageScanningConfigurationArray) ToOutput(ctx context.Context) pulumix.Output[[]GetImageImageScanningConfiguration] { + return pulumix.Output[[]GetImageImageScanningConfiguration]{ + OutputState: i.ToGetImageImageScanningConfigurationArrayOutputWithContext(ctx).OutputState, + } +} + +type GetImageImageScanningConfigurationOutput struct{ *pulumi.OutputState } + +func (GetImageImageScanningConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageImageScanningConfiguration)(nil)).Elem() +} + +func (o GetImageImageScanningConfigurationOutput) ToGetImageImageScanningConfigurationOutput() GetImageImageScanningConfigurationOutput { + return o +} + +func (o GetImageImageScanningConfigurationOutput) ToGetImageImageScanningConfigurationOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationOutput { + return o +} + +func (o GetImageImageScanningConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[GetImageImageScanningConfiguration] { + return pulumix.Output[GetImageImageScanningConfiguration]{ + OutputState: o.OutputState, + } +} + +// Configuration block with ECR configuration. +func (o GetImageImageScanningConfigurationOutput) EcrConfigurations() GetImageImageScanningConfigurationEcrConfigurationArrayOutput { + return o.ApplyT(func(v GetImageImageScanningConfiguration) []GetImageImageScanningConfigurationEcrConfiguration { + return v.EcrConfigurations + }).(GetImageImageScanningConfigurationEcrConfigurationArrayOutput) +} + +// Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. +func (o GetImageImageScanningConfigurationOutput) ImageScanningEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageImageScanningConfiguration) bool { return v.ImageScanningEnabled }).(pulumi.BoolOutput) +} + +type GetImageImageScanningConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetImageImageScanningConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetImageImageScanningConfiguration)(nil)).Elem() +} + +func (o GetImageImageScanningConfigurationArrayOutput) ToGetImageImageScanningConfigurationArrayOutput() GetImageImageScanningConfigurationArrayOutput { + return o +} + +func (o GetImageImageScanningConfigurationArrayOutput) ToGetImageImageScanningConfigurationArrayOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationArrayOutput { + return o +} + +func (o GetImageImageScanningConfigurationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetImageImageScanningConfiguration] { + return pulumix.Output[[]GetImageImageScanningConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o GetImageImageScanningConfigurationArrayOutput) Index(i pulumi.IntInput) GetImageImageScanningConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetImageImageScanningConfiguration { + return vs[0].([]GetImageImageScanningConfiguration)[vs[1].(int)] + }).(GetImageImageScanningConfigurationOutput) +} + +type GetImageImageScanningConfigurationEcrConfiguration struct { + // Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + ContainerTags []string `pulumi:"containerTags"` + // The name of the container repository that Amazon Inspector scans to identify findings for your container images. + RepositoryName string `pulumi:"repositoryName"` +} + +// GetImageImageScanningConfigurationEcrConfigurationInput is an input type that accepts GetImageImageScanningConfigurationEcrConfigurationArgs and GetImageImageScanningConfigurationEcrConfigurationOutput values. +// You can construct a concrete instance of `GetImageImageScanningConfigurationEcrConfigurationInput` via: +// +// GetImageImageScanningConfigurationEcrConfigurationArgs{...} +type GetImageImageScanningConfigurationEcrConfigurationInput interface { + pulumi.Input + + ToGetImageImageScanningConfigurationEcrConfigurationOutput() GetImageImageScanningConfigurationEcrConfigurationOutput + ToGetImageImageScanningConfigurationEcrConfigurationOutputWithContext(context.Context) GetImageImageScanningConfigurationEcrConfigurationOutput +} + +type GetImageImageScanningConfigurationEcrConfigurationArgs struct { + // Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + ContainerTags pulumi.StringArrayInput `pulumi:"containerTags"` + // The name of the container repository that Amazon Inspector scans to identify findings for your container images. + RepositoryName pulumi.StringInput `pulumi:"repositoryName"` +} + +func (GetImageImageScanningConfigurationEcrConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArgs) ToGetImageImageScanningConfigurationEcrConfigurationOutput() GetImageImageScanningConfigurationEcrConfigurationOutput { + return i.ToGetImageImageScanningConfigurationEcrConfigurationOutputWithContext(context.Background()) +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArgs) ToGetImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationEcrConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageImageScanningConfigurationEcrConfigurationOutput) +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[GetImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[GetImageImageScanningConfigurationEcrConfiguration]{ + OutputState: i.ToGetImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx).OutputState, + } +} + +// GetImageImageScanningConfigurationEcrConfigurationArrayInput is an input type that accepts GetImageImageScanningConfigurationEcrConfigurationArray and GetImageImageScanningConfigurationEcrConfigurationArrayOutput values. +// You can construct a concrete instance of `GetImageImageScanningConfigurationEcrConfigurationArrayInput` via: +// +// GetImageImageScanningConfigurationEcrConfigurationArray{ GetImageImageScanningConfigurationEcrConfigurationArgs{...} } +type GetImageImageScanningConfigurationEcrConfigurationArrayInput interface { + pulumi.Input + + ToGetImageImageScanningConfigurationEcrConfigurationArrayOutput() GetImageImageScanningConfigurationEcrConfigurationArrayOutput + ToGetImageImageScanningConfigurationEcrConfigurationArrayOutputWithContext(context.Context) GetImageImageScanningConfigurationEcrConfigurationArrayOutput +} + +type GetImageImageScanningConfigurationEcrConfigurationArray []GetImageImageScanningConfigurationEcrConfigurationInput + +func (GetImageImageScanningConfigurationEcrConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArray) ToGetImageImageScanningConfigurationEcrConfigurationArrayOutput() GetImageImageScanningConfigurationEcrConfigurationArrayOutput { + return i.ToGetImageImageScanningConfigurationEcrConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArray) ToGetImageImageScanningConfigurationEcrConfigurationArrayOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationEcrConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageImageScanningConfigurationEcrConfigurationArrayOutput) +} + +func (i GetImageImageScanningConfigurationEcrConfigurationArray) ToOutput(ctx context.Context) pulumix.Output[[]GetImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[[]GetImageImageScanningConfigurationEcrConfiguration]{ + OutputState: i.ToGetImageImageScanningConfigurationEcrConfigurationArrayOutputWithContext(ctx).OutputState, + } +} + +type GetImageImageScanningConfigurationEcrConfigurationOutput struct{ *pulumi.OutputState } + +func (GetImageImageScanningConfigurationEcrConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (o GetImageImageScanningConfigurationEcrConfigurationOutput) ToGetImageImageScanningConfigurationEcrConfigurationOutput() GetImageImageScanningConfigurationEcrConfigurationOutput { + return o +} + +func (o GetImageImageScanningConfigurationEcrConfigurationOutput) ToGetImageImageScanningConfigurationEcrConfigurationOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationEcrConfigurationOutput { + return o +} + +func (o GetImageImageScanningConfigurationEcrConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[GetImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[GetImageImageScanningConfigurationEcrConfiguration]{ + OutputState: o.OutputState, + } +} + +// Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. +func (o GetImageImageScanningConfigurationEcrConfigurationOutput) ContainerTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetImageImageScanningConfigurationEcrConfiguration) []string { return v.ContainerTags }).(pulumi.StringArrayOutput) +} + +// The name of the container repository that Amazon Inspector scans to identify findings for your container images. +func (o GetImageImageScanningConfigurationEcrConfigurationOutput) RepositoryName() pulumi.StringOutput { + return o.ApplyT(func(v GetImageImageScanningConfigurationEcrConfiguration) string { return v.RepositoryName }).(pulumi.StringOutput) +} + +type GetImageImageScanningConfigurationEcrConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetImageImageScanningConfigurationEcrConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetImageImageScanningConfigurationEcrConfiguration)(nil)).Elem() +} + +func (o GetImageImageScanningConfigurationEcrConfigurationArrayOutput) ToGetImageImageScanningConfigurationEcrConfigurationArrayOutput() GetImageImageScanningConfigurationEcrConfigurationArrayOutput { + return o +} + +func (o GetImageImageScanningConfigurationEcrConfigurationArrayOutput) ToGetImageImageScanningConfigurationEcrConfigurationArrayOutputWithContext(ctx context.Context) GetImageImageScanningConfigurationEcrConfigurationArrayOutput { + return o +} + +func (o GetImageImageScanningConfigurationEcrConfigurationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetImageImageScanningConfigurationEcrConfiguration] { + return pulumix.Output[[]GetImageImageScanningConfigurationEcrConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o GetImageImageScanningConfigurationEcrConfigurationArrayOutput) Index(i pulumi.IntInput) GetImageImageScanningConfigurationEcrConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetImageImageScanningConfigurationEcrConfiguration { + return vs[0].([]GetImageImageScanningConfigurationEcrConfiguration)[vs[1].(int)] + }).(GetImageImageScanningConfigurationEcrConfigurationOutput) +} + type GetImageImageTestsConfiguration struct { // Whether image tests are enabled. ImageTestsEnabled bool `pulumi:"imageTestsEnabled"` @@ -10613,6 +11237,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfigurationPtrInput)(nil)).Elem(), DistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DistributionConfigurationDistributionLaunchTemplateConfigurationInput)(nil)).Elem(), DistributionConfigurationDistributionLaunchTemplateConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DistributionConfigurationDistributionLaunchTemplateConfigurationArrayInput)(nil)).Elem(), DistributionConfigurationDistributionLaunchTemplateConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageImageScanningConfigurationInput)(nil)).Elem(), ImageImageScanningConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageImageScanningConfigurationPtrInput)(nil)).Elem(), ImageImageScanningConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageImageScanningConfigurationEcrConfigurationInput)(nil)).Elem(), ImageImageScanningConfigurationEcrConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ImageImageScanningConfigurationEcrConfigurationPtrInput)(nil)).Elem(), ImageImageScanningConfigurationEcrConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageImageTestsConfigurationInput)(nil)).Elem(), ImageImageTestsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageImageTestsConfigurationPtrInput)(nil)).Elem(), ImageImageTestsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageOutputResourceInput)(nil)).Elem(), ImageOutputResourceArgs{}) @@ -10681,6 +11309,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetDistributionConfigurationDistributionLaunchTemplateConfigurationArrayInput)(nil)).Elem(), GetDistributionConfigurationDistributionLaunchTemplateConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDistributionConfigurationsFilterInput)(nil)).Elem(), GetDistributionConfigurationsFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDistributionConfigurationsFilterArrayInput)(nil)).Elem(), GetDistributionConfigurationsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageScanningConfigurationInput)(nil)).Elem(), GetImageImageScanningConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageScanningConfigurationArrayInput)(nil)).Elem(), GetImageImageScanningConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageScanningConfigurationEcrConfigurationInput)(nil)).Elem(), GetImageImageScanningConfigurationEcrConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageScanningConfigurationEcrConfigurationArrayInput)(nil)).Elem(), GetImageImageScanningConfigurationEcrConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageTestsConfigurationInput)(nil)).Elem(), GetImageImageTestsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageImageTestsConfigurationArrayInput)(nil)).Elem(), GetImageImageTestsConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageOutputResourceInput)(nil)).Elem(), GetImageOutputResourceArgs{}) @@ -10747,6 +11379,10 @@ func init() { pulumi.RegisterOutputType(DistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfigurationPtrOutput{}) pulumi.RegisterOutputType(DistributionConfigurationDistributionLaunchTemplateConfigurationOutput{}) pulumi.RegisterOutputType(DistributionConfigurationDistributionLaunchTemplateConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ImageImageScanningConfigurationOutput{}) + pulumi.RegisterOutputType(ImageImageScanningConfigurationPtrOutput{}) + pulumi.RegisterOutputType(ImageImageScanningConfigurationEcrConfigurationOutput{}) + pulumi.RegisterOutputType(ImageImageScanningConfigurationEcrConfigurationPtrOutput{}) pulumi.RegisterOutputType(ImageImageTestsConfigurationOutput{}) pulumi.RegisterOutputType(ImageImageTestsConfigurationPtrOutput{}) pulumi.RegisterOutputType(ImageOutputResourceOutput{}) @@ -10815,6 +11451,10 @@ func init() { pulumi.RegisterOutputType(GetDistributionConfigurationDistributionLaunchTemplateConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetDistributionConfigurationsFilterOutput{}) pulumi.RegisterOutputType(GetDistributionConfigurationsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetImageImageScanningConfigurationOutput{}) + pulumi.RegisterOutputType(GetImageImageScanningConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetImageImageScanningConfigurationEcrConfigurationOutput{}) + pulumi.RegisterOutputType(GetImageImageScanningConfigurationEcrConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetImageImageTestsConfigurationOutput{}) pulumi.RegisterOutputType(GetImageImageTestsConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetImageOutputResourceOutput{}) diff --git a/sdk/go/aws/inspector2/enabler.go b/sdk/go/aws/inspector2/enabler.go index b6e2b2260d9..7421acd9b1f 100644 --- a/sdk/go/aws/inspector2/enabler.go +++ b/sdk/go/aws/inspector2/enabler.go @@ -91,7 +91,7 @@ type Enabler struct { // Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. AccountIds pulumi.StringArrayOutput `pulumi:"accountIds"` // Type of resources to scan. - // Valid values are `EC2`, `ECR`, and `LAMBDA`. + // Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. ResourceTypes pulumi.StringArrayOutput `pulumi:"resourceTypes"` } @@ -136,7 +136,7 @@ type enablerState struct { // Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. AccountIds []string `pulumi:"accountIds"` // Type of resources to scan. - // Valid values are `EC2`, `ECR`, and `LAMBDA`. + // Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. ResourceTypes []string `pulumi:"resourceTypes"` } @@ -146,7 +146,7 @@ type EnablerState struct { // Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. AccountIds pulumi.StringArrayInput // Type of resources to scan. - // Valid values are `EC2`, `ECR`, and `LAMBDA`. + // Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. ResourceTypes pulumi.StringArrayInput } @@ -160,7 +160,7 @@ type enablerArgs struct { // Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. AccountIds []string `pulumi:"accountIds"` // Type of resources to scan. - // Valid values are `EC2`, `ECR`, and `LAMBDA`. + // Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. ResourceTypes []string `pulumi:"resourceTypes"` } @@ -171,7 +171,7 @@ type EnablerArgs struct { // Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. AccountIds pulumi.StringArrayInput // Type of resources to scan. - // Valid values are `EC2`, `ECR`, and `LAMBDA`. + // Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. ResourceTypes pulumi.StringArrayInput } @@ -294,7 +294,7 @@ func (o EnablerOutput) AccountIds() pulumi.StringArrayOutput { } // Type of resources to scan. -// Valid values are `EC2`, `ECR`, and `LAMBDA`. +// Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. // At least one item is required. func (o EnablerOutput) ResourceTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v *Enabler) pulumi.StringArrayOutput { return v.ResourceTypes }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/iot/domainConfiguration.go b/sdk/go/aws/iot/domainConfiguration.go new file mode 100644 index 00000000000..bba99d37e96 --- /dev/null +++ b/sdk/go/aws/iot/domainConfiguration.go @@ -0,0 +1,451 @@ +// 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 iot + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Creates and manages an AWS IoT domain configuration. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := iot.NewDomainConfiguration(ctx, "iot", &iot.DomainConfigurationArgs{ +// DomainName: pulumi.String("iot.example.com"), +// ServiceType: pulumi.String("DATA"), +// ServerCertificateArns: pulumi.StringArray{ +// aws_acm_certificate.Cert.Arn, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import domain configurations using the name. For example: +// +// ```sh +// +// $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example +// +// ``` +type DomainConfiguration struct { + pulumi.CustomResourceState + + // The ARN of the domain configuration. + Arn pulumi.StringOutput `pulumi:"arn"` + // An object that specifies the authorization service for a domain. See below. + AuthorizerConfig DomainConfigurationAuthorizerConfigPtrOutput `pulumi:"authorizerConfig"` + // Fully-qualified domain name. + DomainName pulumi.StringPtrOutput `pulumi:"domainName"` + // The type of the domain. + DomainType pulumi.StringOutput `pulumi:"domainType"` + // The name of the domain configuration. This value must be unique to a region. + Name pulumi.StringOutput `pulumi:"name"` + // The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + ServerCertificateArns pulumi.StringArrayOutput `pulumi:"serverCertificateArns"` + // The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + ServiceType pulumi.StringPtrOutput `pulumi:"serviceType"` + Status pulumi.StringPtrOutput `pulumi:"status"` + // Map of tags to assign to this 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"` + // An object that specifies the TLS configuration for a domain. See below. + TlsConfig DomainConfigurationTlsConfigOutput `pulumi:"tlsConfig"` + // The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + ValidationCertificateArn pulumi.StringPtrOutput `pulumi:"validationCertificateArn"` +} + +// NewDomainConfiguration registers a new resource with the given unique name, arguments, and options. +func NewDomainConfiguration(ctx *pulumi.Context, + name string, args *DomainConfigurationArgs, opts ...pulumi.ResourceOption) (*DomainConfiguration, error) { + if args == nil { + args = &DomainConfigurationArgs{} + } + + secrets := pulumi.AdditionalSecretOutputs([]string{ + "tagsAll", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DomainConfiguration + err := ctx.RegisterResource("aws:iot/domainConfiguration:DomainConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDomainConfiguration gets an existing DomainConfiguration 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 GetDomainConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DomainConfigurationState, opts ...pulumi.ResourceOption) (*DomainConfiguration, error) { + var resource DomainConfiguration + err := ctx.ReadResource("aws:iot/domainConfiguration:DomainConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DomainConfiguration resources. +type domainConfigurationState struct { + // The ARN of the domain configuration. + Arn *string `pulumi:"arn"` + // An object that specifies the authorization service for a domain. See below. + AuthorizerConfig *DomainConfigurationAuthorizerConfig `pulumi:"authorizerConfig"` + // Fully-qualified domain name. + DomainName *string `pulumi:"domainName"` + // The type of the domain. + DomainType *string `pulumi:"domainType"` + // The name of the domain configuration. This value must be unique to a region. + Name *string `pulumi:"name"` + // The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + ServerCertificateArns []string `pulumi:"serverCertificateArns"` + // The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + ServiceType *string `pulumi:"serviceType"` + Status *string `pulumi:"status"` + // Map of tags to assign to this 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"` + // An object that specifies the TLS configuration for a domain. See below. + TlsConfig *DomainConfigurationTlsConfig `pulumi:"tlsConfig"` + // The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + ValidationCertificateArn *string `pulumi:"validationCertificateArn"` +} + +type DomainConfigurationState struct { + // The ARN of the domain configuration. + Arn pulumi.StringPtrInput + // An object that specifies the authorization service for a domain. See below. + AuthorizerConfig DomainConfigurationAuthorizerConfigPtrInput + // Fully-qualified domain name. + DomainName pulumi.StringPtrInput + // The type of the domain. + DomainType pulumi.StringPtrInput + // The name of the domain configuration. This value must be unique to a region. + Name pulumi.StringPtrInput + // The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + ServerCertificateArns pulumi.StringArrayInput + // The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + ServiceType pulumi.StringPtrInput + Status pulumi.StringPtrInput + // Map of tags to assign to this 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 + // An object that specifies the TLS configuration for a domain. See below. + TlsConfig DomainConfigurationTlsConfigPtrInput + // The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + ValidationCertificateArn pulumi.StringPtrInput +} + +func (DomainConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*domainConfigurationState)(nil)).Elem() +} + +type domainConfigurationArgs struct { + // An object that specifies the authorization service for a domain. See below. + AuthorizerConfig *DomainConfigurationAuthorizerConfig `pulumi:"authorizerConfig"` + // Fully-qualified domain name. + DomainName *string `pulumi:"domainName"` + // The name of the domain configuration. This value must be unique to a region. + Name *string `pulumi:"name"` + // The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + ServerCertificateArns []string `pulumi:"serverCertificateArns"` + // The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + ServiceType *string `pulumi:"serviceType"` + Status *string `pulumi:"status"` + // Map of tags to assign to this 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"` + // An object that specifies the TLS configuration for a domain. See below. + TlsConfig *DomainConfigurationTlsConfig `pulumi:"tlsConfig"` + // The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + ValidationCertificateArn *string `pulumi:"validationCertificateArn"` +} + +// The set of arguments for constructing a DomainConfiguration resource. +type DomainConfigurationArgs struct { + // An object that specifies the authorization service for a domain. See below. + AuthorizerConfig DomainConfigurationAuthorizerConfigPtrInput + // Fully-qualified domain name. + DomainName pulumi.StringPtrInput + // The name of the domain configuration. This value must be unique to a region. + Name pulumi.StringPtrInput + // The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + ServerCertificateArns pulumi.StringArrayInput + // The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + ServiceType pulumi.StringPtrInput + Status pulumi.StringPtrInput + // Map of tags to assign to this 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 + // An object that specifies the TLS configuration for a domain. See below. + TlsConfig DomainConfigurationTlsConfigPtrInput + // The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + ValidationCertificateArn pulumi.StringPtrInput +} + +func (DomainConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*domainConfigurationArgs)(nil)).Elem() +} + +type DomainConfigurationInput interface { + pulumi.Input + + ToDomainConfigurationOutput() DomainConfigurationOutput + ToDomainConfigurationOutputWithContext(ctx context.Context) DomainConfigurationOutput +} + +func (*DomainConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfiguration)(nil)).Elem() +} + +func (i *DomainConfiguration) ToDomainConfigurationOutput() DomainConfigurationOutput { + return i.ToDomainConfigurationOutputWithContext(context.Background()) +} + +func (i *DomainConfiguration) ToDomainConfigurationOutputWithContext(ctx context.Context) DomainConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationOutput) +} + +func (i *DomainConfiguration) ToOutput(ctx context.Context) pulumix.Output[*DomainConfiguration] { + return pulumix.Output[*DomainConfiguration]{ + OutputState: i.ToDomainConfigurationOutputWithContext(ctx).OutputState, + } +} + +// DomainConfigurationArrayInput is an input type that accepts DomainConfigurationArray and DomainConfigurationArrayOutput values. +// You can construct a concrete instance of `DomainConfigurationArrayInput` via: +// +// DomainConfigurationArray{ DomainConfigurationArgs{...} } +type DomainConfigurationArrayInput interface { + pulumi.Input + + ToDomainConfigurationArrayOutput() DomainConfigurationArrayOutput + ToDomainConfigurationArrayOutputWithContext(context.Context) DomainConfigurationArrayOutput +} + +type DomainConfigurationArray []DomainConfigurationInput + +func (DomainConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DomainConfiguration)(nil)).Elem() +} + +func (i DomainConfigurationArray) ToDomainConfigurationArrayOutput() DomainConfigurationArrayOutput { + return i.ToDomainConfigurationArrayOutputWithContext(context.Background()) +} + +func (i DomainConfigurationArray) ToDomainConfigurationArrayOutputWithContext(ctx context.Context) DomainConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationArrayOutput) +} + +func (i DomainConfigurationArray) ToOutput(ctx context.Context) pulumix.Output[[]*DomainConfiguration] { + return pulumix.Output[[]*DomainConfiguration]{ + OutputState: i.ToDomainConfigurationArrayOutputWithContext(ctx).OutputState, + } +} + +// DomainConfigurationMapInput is an input type that accepts DomainConfigurationMap and DomainConfigurationMapOutput values. +// You can construct a concrete instance of `DomainConfigurationMapInput` via: +// +// DomainConfigurationMap{ "key": DomainConfigurationArgs{...} } +type DomainConfigurationMapInput interface { + pulumi.Input + + ToDomainConfigurationMapOutput() DomainConfigurationMapOutput + ToDomainConfigurationMapOutputWithContext(context.Context) DomainConfigurationMapOutput +} + +type DomainConfigurationMap map[string]DomainConfigurationInput + +func (DomainConfigurationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DomainConfiguration)(nil)).Elem() +} + +func (i DomainConfigurationMap) ToDomainConfigurationMapOutput() DomainConfigurationMapOutput { + return i.ToDomainConfigurationMapOutputWithContext(context.Background()) +} + +func (i DomainConfigurationMap) ToDomainConfigurationMapOutputWithContext(ctx context.Context) DomainConfigurationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationMapOutput) +} + +func (i DomainConfigurationMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*DomainConfiguration] { + return pulumix.Output[map[string]*DomainConfiguration]{ + OutputState: i.ToDomainConfigurationMapOutputWithContext(ctx).OutputState, + } +} + +type DomainConfigurationOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfiguration)(nil)).Elem() +} + +func (o DomainConfigurationOutput) ToDomainConfigurationOutput() DomainConfigurationOutput { + return o +} + +func (o DomainConfigurationOutput) ToDomainConfigurationOutputWithContext(ctx context.Context) DomainConfigurationOutput { + return o +} + +func (o DomainConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainConfiguration] { + return pulumix.Output[*DomainConfiguration]{ + OutputState: o.OutputState, + } +} + +// The ARN of the domain configuration. +func (o DomainConfigurationOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// An object that specifies the authorization service for a domain. See below. +func (o DomainConfigurationOutput) AuthorizerConfig() DomainConfigurationAuthorizerConfigPtrOutput { + return o.ApplyT(func(v *DomainConfiguration) DomainConfigurationAuthorizerConfigPtrOutput { return v.AuthorizerConfig }).(DomainConfigurationAuthorizerConfigPtrOutput) +} + +// Fully-qualified domain name. +func (o DomainConfigurationOutput) DomainName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringPtrOutput { return v.DomainName }).(pulumi.StringPtrOutput) +} + +// The type of the domain. +func (o DomainConfigurationOutput) DomainType() pulumi.StringOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringOutput { return v.DomainType }).(pulumi.StringOutput) +} + +// The name of the domain configuration. This value must be unique to a region. +func (o DomainConfigurationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. +func (o DomainConfigurationOutput) ServerCertificateArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringArrayOutput { return v.ServerCertificateArns }).(pulumi.StringArrayOutput) +} + +// The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. +func (o DomainConfigurationOutput) ServiceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringPtrOutput { return v.ServiceType }).(pulumi.StringPtrOutput) +} + +func (o DomainConfigurationOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) +} + +// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o DomainConfigurationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *DomainConfiguration) 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 DomainConfigurationOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// An object that specifies the TLS configuration for a domain. See below. +func (o DomainConfigurationOutput) TlsConfig() DomainConfigurationTlsConfigOutput { + return o.ApplyT(func(v *DomainConfiguration) DomainConfigurationTlsConfigOutput { return v.TlsConfig }).(DomainConfigurationTlsConfigOutput) +} + +// The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. +func (o DomainConfigurationOutput) ValidationCertificateArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfiguration) pulumi.StringPtrOutput { return v.ValidationCertificateArn }).(pulumi.StringPtrOutput) +} + +type DomainConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DomainConfiguration)(nil)).Elem() +} + +func (o DomainConfigurationArrayOutput) ToDomainConfigurationArrayOutput() DomainConfigurationArrayOutput { + return o +} + +func (o DomainConfigurationArrayOutput) ToDomainConfigurationArrayOutputWithContext(ctx context.Context) DomainConfigurationArrayOutput { + return o +} + +func (o DomainConfigurationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*DomainConfiguration] { + return pulumix.Output[[]*DomainConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o DomainConfigurationArrayOutput) Index(i pulumi.IntInput) DomainConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DomainConfiguration { + return vs[0].([]*DomainConfiguration)[vs[1].(int)] + }).(DomainConfigurationOutput) +} + +type DomainConfigurationMapOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DomainConfiguration)(nil)).Elem() +} + +func (o DomainConfigurationMapOutput) ToDomainConfigurationMapOutput() DomainConfigurationMapOutput { + return o +} + +func (o DomainConfigurationMapOutput) ToDomainConfigurationMapOutputWithContext(ctx context.Context) DomainConfigurationMapOutput { + return o +} + +func (o DomainConfigurationMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*DomainConfiguration] { + return pulumix.Output[map[string]*DomainConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o DomainConfigurationMapOutput) MapIndex(k pulumi.StringInput) DomainConfigurationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DomainConfiguration { + return vs[0].(map[string]*DomainConfiguration)[vs[1].(string)] + }).(DomainConfigurationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationInput)(nil)).Elem(), &DomainConfiguration{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationArrayInput)(nil)).Elem(), DomainConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationMapInput)(nil)).Elem(), DomainConfigurationMap{}) + pulumi.RegisterOutputType(DomainConfigurationOutput{}) + pulumi.RegisterOutputType(DomainConfigurationArrayOutput{}) + pulumi.RegisterOutputType(DomainConfigurationMapOutput{}) +} diff --git a/sdk/go/aws/iot/indexingConfiguration.go b/sdk/go/aws/iot/indexingConfiguration.go index 652c6c01b7e..02ab11d410b 100644 --- a/sdk/go/aws/iot/indexingConfiguration.go +++ b/sdk/go/aws/iot/indexingConfiguration.go @@ -48,7 +48,12 @@ import ( // Type: pulumi.String("Number"), // }, // }, -// DeviceDefenderIndexingMode: pulumi.String("VIOLATIONS"), +// DeviceDefenderIndexingMode: pulumi.String("VIOLATIONS"), +// Filter: &iot.IndexingConfigurationThingIndexingConfigurationFilterArgs{ +// NamedShadowNames: pulumi.StringArray{ +// pulumi.String("thing1shadow"), +// }, +// }, // NamedShadowIndexingMode: pulumi.String("ON"), // ThingConnectivityIndexingMode: pulumi.String("STATUS"), // ThingIndexingMode: pulumi.String("REGISTRY_AND_SHADOW"), diff --git a/sdk/go/aws/iot/init.go b/sdk/go/aws/iot/init.go index 379219d6fdc..0fc1070c042 100644 --- a/sdk/go/aws/iot/init.go +++ b/sdk/go/aws/iot/init.go @@ -25,6 +25,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Authorizer{} case "aws:iot/certificate:Certificate": r = &Certificate{} + case "aws:iot/domainConfiguration:DomainConfiguration": + r = &DomainConfiguration{} case "aws:iot/indexingConfiguration:IndexingConfiguration": r = &IndexingConfiguration{} case "aws:iot/loggingOptions:LoggingOptions": @@ -74,6 +76,11 @@ func init() { "iot/certificate", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "iot/domainConfiguration", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "iot/indexingConfiguration", diff --git a/sdk/go/aws/iot/provisioningTemplate.go b/sdk/go/aws/iot/provisioningTemplate.go index 81f34a3b50b..dda16b540ce 100644 --- a/sdk/go/aws/iot/provisioningTemplate.go +++ b/sdk/go/aws/iot/provisioningTemplate.go @@ -167,6 +167,8 @@ type ProvisioningTemplate struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // The JSON formatted contents of the fleet provisioning template. TemplateBody pulumi.StringOutput `pulumi:"templateBody"` + // The type you define in a provisioning template. + Type pulumi.StringOutput `pulumi:"type"` } // NewProvisioningTemplate registers a new resource with the given unique name, arguments, and options. @@ -231,6 +233,8 @@ type provisioningTemplateState struct { TagsAll map[string]string `pulumi:"tagsAll"` // The JSON formatted contents of the fleet provisioning template. TemplateBody *string `pulumi:"templateBody"` + // The type you define in a provisioning template. + Type *string `pulumi:"type"` } type ProvisioningTemplateState struct { @@ -256,6 +260,8 @@ type ProvisioningTemplateState struct { TagsAll pulumi.StringMapInput // The JSON formatted contents of the fleet provisioning template. TemplateBody pulumi.StringPtrInput + // The type you define in a provisioning template. + Type pulumi.StringPtrInput } func (ProvisioningTemplateState) ElementType() reflect.Type { @@ -277,6 +283,8 @@ type provisioningTemplateArgs struct { Tags map[string]string `pulumi:"tags"` // The JSON formatted contents of the fleet provisioning template. TemplateBody string `pulumi:"templateBody"` + // The type you define in a provisioning template. + Type *string `pulumi:"type"` } // The set of arguments for constructing a ProvisioningTemplate resource. @@ -295,6 +303,8 @@ type ProvisioningTemplateArgs struct { Tags pulumi.StringMapInput // The JSON formatted contents of the fleet provisioning template. TemplateBody pulumi.StringInput + // The type you define in a provisioning template. + Type pulumi.StringPtrInput } func (ProvisioningTemplateArgs) ElementType() reflect.Type { @@ -462,6 +472,11 @@ func (o ProvisioningTemplateOutput) TemplateBody() pulumi.StringOutput { return o.ApplyT(func(v *ProvisioningTemplate) pulumi.StringOutput { return v.TemplateBody }).(pulumi.StringOutput) } +// The type you define in a provisioning template. +func (o ProvisioningTemplateOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *ProvisioningTemplate) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + type ProvisioningTemplateArrayOutput struct{ *pulumi.OutputState } func (ProvisioningTemplateArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/iot/pulumiTypes.go b/sdk/go/aws/iot/pulumiTypes.go index b3f722d3083..a1999160c9e 100644 --- a/sdk/go/aws/iot/pulumiTypes.go +++ b/sdk/go/aws/iot/pulumiTypes.go @@ -14,6 +14,347 @@ import ( var _ = internal.GetEnvOrDefault +type DomainConfigurationAuthorizerConfig struct { + // A Boolean that specifies whether the domain configuration's authorization service can be overridden. + AllowAuthorizerOverride *bool `pulumi:"allowAuthorizerOverride"` + // The name of the authorization service for a domain configuration. + DefaultAuthorizerName *string `pulumi:"defaultAuthorizerName"` +} + +// DomainConfigurationAuthorizerConfigInput is an input type that accepts DomainConfigurationAuthorizerConfigArgs and DomainConfigurationAuthorizerConfigOutput values. +// You can construct a concrete instance of `DomainConfigurationAuthorizerConfigInput` via: +// +// DomainConfigurationAuthorizerConfigArgs{...} +type DomainConfigurationAuthorizerConfigInput interface { + pulumi.Input + + ToDomainConfigurationAuthorizerConfigOutput() DomainConfigurationAuthorizerConfigOutput + ToDomainConfigurationAuthorizerConfigOutputWithContext(context.Context) DomainConfigurationAuthorizerConfigOutput +} + +type DomainConfigurationAuthorizerConfigArgs struct { + // A Boolean that specifies whether the domain configuration's authorization service can be overridden. + AllowAuthorizerOverride pulumi.BoolPtrInput `pulumi:"allowAuthorizerOverride"` + // The name of the authorization service for a domain configuration. + DefaultAuthorizerName pulumi.StringPtrInput `pulumi:"defaultAuthorizerName"` +} + +func (DomainConfigurationAuthorizerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainConfigurationAuthorizerConfig)(nil)).Elem() +} + +func (i DomainConfigurationAuthorizerConfigArgs) ToDomainConfigurationAuthorizerConfigOutput() DomainConfigurationAuthorizerConfigOutput { + return i.ToDomainConfigurationAuthorizerConfigOutputWithContext(context.Background()) +} + +func (i DomainConfigurationAuthorizerConfigArgs) ToDomainConfigurationAuthorizerConfigOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationAuthorizerConfigOutput) +} + +func (i DomainConfigurationAuthorizerConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DomainConfigurationAuthorizerConfig] { + return pulumix.Output[DomainConfigurationAuthorizerConfig]{ + OutputState: i.ToDomainConfigurationAuthorizerConfigOutputWithContext(ctx).OutputState, + } +} + +func (i DomainConfigurationAuthorizerConfigArgs) ToDomainConfigurationAuthorizerConfigPtrOutput() DomainConfigurationAuthorizerConfigPtrOutput { + return i.ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (i DomainConfigurationAuthorizerConfigArgs) ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationAuthorizerConfigOutput).ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx) +} + +// DomainConfigurationAuthorizerConfigPtrInput is an input type that accepts DomainConfigurationAuthorizerConfigArgs, DomainConfigurationAuthorizerConfigPtr and DomainConfigurationAuthorizerConfigPtrOutput values. +// You can construct a concrete instance of `DomainConfigurationAuthorizerConfigPtrInput` via: +// +// DomainConfigurationAuthorizerConfigArgs{...} +// +// or: +// +// nil +type DomainConfigurationAuthorizerConfigPtrInput interface { + pulumi.Input + + ToDomainConfigurationAuthorizerConfigPtrOutput() DomainConfigurationAuthorizerConfigPtrOutput + ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(context.Context) DomainConfigurationAuthorizerConfigPtrOutput +} + +type domainConfigurationAuthorizerConfigPtrType DomainConfigurationAuthorizerConfigArgs + +func DomainConfigurationAuthorizerConfigPtr(v *DomainConfigurationAuthorizerConfigArgs) DomainConfigurationAuthorizerConfigPtrInput { + return (*domainConfigurationAuthorizerConfigPtrType)(v) +} + +func (*domainConfigurationAuthorizerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfigurationAuthorizerConfig)(nil)).Elem() +} + +func (i *domainConfigurationAuthorizerConfigPtrType) ToDomainConfigurationAuthorizerConfigPtrOutput() DomainConfigurationAuthorizerConfigPtrOutput { + return i.ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (i *domainConfigurationAuthorizerConfigPtrType) ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationAuthorizerConfigPtrOutput) +} + +func (i *domainConfigurationAuthorizerConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainConfigurationAuthorizerConfig] { + return pulumix.Output[*DomainConfigurationAuthorizerConfig]{ + OutputState: i.ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type DomainConfigurationAuthorizerConfigOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationAuthorizerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainConfigurationAuthorizerConfig)(nil)).Elem() +} + +func (o DomainConfigurationAuthorizerConfigOutput) ToDomainConfigurationAuthorizerConfigOutput() DomainConfigurationAuthorizerConfigOutput { + return o +} + +func (o DomainConfigurationAuthorizerConfigOutput) ToDomainConfigurationAuthorizerConfigOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigOutput { + return o +} + +func (o DomainConfigurationAuthorizerConfigOutput) ToDomainConfigurationAuthorizerConfigPtrOutput() DomainConfigurationAuthorizerConfigPtrOutput { + return o.ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (o DomainConfigurationAuthorizerConfigOutput) ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainConfigurationAuthorizerConfig) *DomainConfigurationAuthorizerConfig { + return &v + }).(DomainConfigurationAuthorizerConfigPtrOutput) +} + +func (o DomainConfigurationAuthorizerConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DomainConfigurationAuthorizerConfig] { + return pulumix.Output[DomainConfigurationAuthorizerConfig]{ + OutputState: o.OutputState, + } +} + +// A Boolean that specifies whether the domain configuration's authorization service can be overridden. +func (o DomainConfigurationAuthorizerConfigOutput) AllowAuthorizerOverride() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DomainConfigurationAuthorizerConfig) *bool { return v.AllowAuthorizerOverride }).(pulumi.BoolPtrOutput) +} + +// The name of the authorization service for a domain configuration. +func (o DomainConfigurationAuthorizerConfigOutput) DefaultAuthorizerName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainConfigurationAuthorizerConfig) *string { return v.DefaultAuthorizerName }).(pulumi.StringPtrOutput) +} + +type DomainConfigurationAuthorizerConfigPtrOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationAuthorizerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfigurationAuthorizerConfig)(nil)).Elem() +} + +func (o DomainConfigurationAuthorizerConfigPtrOutput) ToDomainConfigurationAuthorizerConfigPtrOutput() DomainConfigurationAuthorizerConfigPtrOutput { + return o +} + +func (o DomainConfigurationAuthorizerConfigPtrOutput) ToDomainConfigurationAuthorizerConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationAuthorizerConfigPtrOutput { + return o +} + +func (o DomainConfigurationAuthorizerConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainConfigurationAuthorizerConfig] { + return pulumix.Output[*DomainConfigurationAuthorizerConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainConfigurationAuthorizerConfigPtrOutput) Elem() DomainConfigurationAuthorizerConfigOutput { + return o.ApplyT(func(v *DomainConfigurationAuthorizerConfig) DomainConfigurationAuthorizerConfig { + if v != nil { + return *v + } + var ret DomainConfigurationAuthorizerConfig + return ret + }).(DomainConfigurationAuthorizerConfigOutput) +} + +// A Boolean that specifies whether the domain configuration's authorization service can be overridden. +func (o DomainConfigurationAuthorizerConfigPtrOutput) AllowAuthorizerOverride() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DomainConfigurationAuthorizerConfig) *bool { + if v == nil { + return nil + } + return v.AllowAuthorizerOverride + }).(pulumi.BoolPtrOutput) +} + +// The name of the authorization service for a domain configuration. +func (o DomainConfigurationAuthorizerConfigPtrOutput) DefaultAuthorizerName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfigurationAuthorizerConfig) *string { + if v == nil { + return nil + } + return v.DefaultAuthorizerName + }).(pulumi.StringPtrOutput) +} + +type DomainConfigurationTlsConfig struct { + // The security policy for a domain configuration. + SecurityPolicy *string `pulumi:"securityPolicy"` +} + +// DomainConfigurationTlsConfigInput is an input type that accepts DomainConfigurationTlsConfigArgs and DomainConfigurationTlsConfigOutput values. +// You can construct a concrete instance of `DomainConfigurationTlsConfigInput` via: +// +// DomainConfigurationTlsConfigArgs{...} +type DomainConfigurationTlsConfigInput interface { + pulumi.Input + + ToDomainConfigurationTlsConfigOutput() DomainConfigurationTlsConfigOutput + ToDomainConfigurationTlsConfigOutputWithContext(context.Context) DomainConfigurationTlsConfigOutput +} + +type DomainConfigurationTlsConfigArgs struct { + // The security policy for a domain configuration. + SecurityPolicy pulumi.StringPtrInput `pulumi:"securityPolicy"` +} + +func (DomainConfigurationTlsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainConfigurationTlsConfig)(nil)).Elem() +} + +func (i DomainConfigurationTlsConfigArgs) ToDomainConfigurationTlsConfigOutput() DomainConfigurationTlsConfigOutput { + return i.ToDomainConfigurationTlsConfigOutputWithContext(context.Background()) +} + +func (i DomainConfigurationTlsConfigArgs) ToDomainConfigurationTlsConfigOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationTlsConfigOutput) +} + +func (i DomainConfigurationTlsConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DomainConfigurationTlsConfig] { + return pulumix.Output[DomainConfigurationTlsConfig]{ + OutputState: i.ToDomainConfigurationTlsConfigOutputWithContext(ctx).OutputState, + } +} + +func (i DomainConfigurationTlsConfigArgs) ToDomainConfigurationTlsConfigPtrOutput() DomainConfigurationTlsConfigPtrOutput { + return i.ToDomainConfigurationTlsConfigPtrOutputWithContext(context.Background()) +} + +func (i DomainConfigurationTlsConfigArgs) ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationTlsConfigOutput).ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx) +} + +// DomainConfigurationTlsConfigPtrInput is an input type that accepts DomainConfigurationTlsConfigArgs, DomainConfigurationTlsConfigPtr and DomainConfigurationTlsConfigPtrOutput values. +// You can construct a concrete instance of `DomainConfigurationTlsConfigPtrInput` via: +// +// DomainConfigurationTlsConfigArgs{...} +// +// or: +// +// nil +type DomainConfigurationTlsConfigPtrInput interface { + pulumi.Input + + ToDomainConfigurationTlsConfigPtrOutput() DomainConfigurationTlsConfigPtrOutput + ToDomainConfigurationTlsConfigPtrOutputWithContext(context.Context) DomainConfigurationTlsConfigPtrOutput +} + +type domainConfigurationTlsConfigPtrType DomainConfigurationTlsConfigArgs + +func DomainConfigurationTlsConfigPtr(v *DomainConfigurationTlsConfigArgs) DomainConfigurationTlsConfigPtrInput { + return (*domainConfigurationTlsConfigPtrType)(v) +} + +func (*domainConfigurationTlsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfigurationTlsConfig)(nil)).Elem() +} + +func (i *domainConfigurationTlsConfigPtrType) ToDomainConfigurationTlsConfigPtrOutput() DomainConfigurationTlsConfigPtrOutput { + return i.ToDomainConfigurationTlsConfigPtrOutputWithContext(context.Background()) +} + +func (i *domainConfigurationTlsConfigPtrType) ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainConfigurationTlsConfigPtrOutput) +} + +func (i *domainConfigurationTlsConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainConfigurationTlsConfig] { + return pulumix.Output[*DomainConfigurationTlsConfig]{ + OutputState: i.ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type DomainConfigurationTlsConfigOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationTlsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainConfigurationTlsConfig)(nil)).Elem() +} + +func (o DomainConfigurationTlsConfigOutput) ToDomainConfigurationTlsConfigOutput() DomainConfigurationTlsConfigOutput { + return o +} + +func (o DomainConfigurationTlsConfigOutput) ToDomainConfigurationTlsConfigOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigOutput { + return o +} + +func (o DomainConfigurationTlsConfigOutput) ToDomainConfigurationTlsConfigPtrOutput() DomainConfigurationTlsConfigPtrOutput { + return o.ToDomainConfigurationTlsConfigPtrOutputWithContext(context.Background()) +} + +func (o DomainConfigurationTlsConfigOutput) ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainConfigurationTlsConfig) *DomainConfigurationTlsConfig { + return &v + }).(DomainConfigurationTlsConfigPtrOutput) +} + +func (o DomainConfigurationTlsConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DomainConfigurationTlsConfig] { + return pulumix.Output[DomainConfigurationTlsConfig]{ + OutputState: o.OutputState, + } +} + +// The security policy for a domain configuration. +func (o DomainConfigurationTlsConfigOutput) SecurityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainConfigurationTlsConfig) *string { return v.SecurityPolicy }).(pulumi.StringPtrOutput) +} + +type DomainConfigurationTlsConfigPtrOutput struct{ *pulumi.OutputState } + +func (DomainConfigurationTlsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainConfigurationTlsConfig)(nil)).Elem() +} + +func (o DomainConfigurationTlsConfigPtrOutput) ToDomainConfigurationTlsConfigPtrOutput() DomainConfigurationTlsConfigPtrOutput { + return o +} + +func (o DomainConfigurationTlsConfigPtrOutput) ToDomainConfigurationTlsConfigPtrOutputWithContext(ctx context.Context) DomainConfigurationTlsConfigPtrOutput { + return o +} + +func (o DomainConfigurationTlsConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainConfigurationTlsConfig] { + return pulumix.Output[*DomainConfigurationTlsConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainConfigurationTlsConfigPtrOutput) Elem() DomainConfigurationTlsConfigOutput { + return o.ApplyT(func(v *DomainConfigurationTlsConfig) DomainConfigurationTlsConfig { + if v != nil { + return *v + } + var ret DomainConfigurationTlsConfig + return ret + }).(DomainConfigurationTlsConfigOutput) +} + +// The security policy for a domain configuration. +func (o DomainConfigurationTlsConfigPtrOutput) SecurityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainConfigurationTlsConfig) *string { + if v == nil { + return nil + } + return v.SecurityPolicy + }).(pulumi.StringPtrOutput) +} + type IndexingConfigurationThingGroupIndexingConfiguration struct { // A list of thing group fields to index. This list cannot contain any managed fields. See below. CustomFields []IndexingConfigurationThingGroupIndexingConfigurationCustomField `pulumi:"customFields"` @@ -482,6 +823,8 @@ type IndexingConfigurationThingIndexingConfiguration struct { CustomFields []IndexingConfigurationThingIndexingConfigurationCustomField `pulumi:"customFields"` // Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. DeviceDefenderIndexingMode *string `pulumi:"deviceDefenderIndexingMode"` + // Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + Filter *IndexingConfigurationThingIndexingConfigurationFilter `pulumi:"filter"` // Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. ManagedFields []IndexingConfigurationThingIndexingConfigurationManagedField `pulumi:"managedFields"` // [Named shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) indexing mode. Valid values: `ON`, `OFF`. Default: `OFF`. @@ -508,6 +851,8 @@ type IndexingConfigurationThingIndexingConfigurationArgs struct { CustomFields IndexingConfigurationThingIndexingConfigurationCustomFieldArrayInput `pulumi:"customFields"` // Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. DeviceDefenderIndexingMode pulumi.StringPtrInput `pulumi:"deviceDefenderIndexingMode"` + // Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + Filter IndexingConfigurationThingIndexingConfigurationFilterPtrInput `pulumi:"filter"` // Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. ManagedFields IndexingConfigurationThingIndexingConfigurationManagedFieldArrayInput `pulumi:"managedFields"` // [Named shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) indexing mode. Valid values: `ON`, `OFF`. Default: `OFF`. @@ -625,6 +970,13 @@ func (o IndexingConfigurationThingIndexingConfigurationOutput) DeviceDefenderInd return o.ApplyT(func(v IndexingConfigurationThingIndexingConfiguration) *string { return v.DeviceDefenderIndexingMode }).(pulumi.StringPtrOutput) } +// Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. +func (o IndexingConfigurationThingIndexingConfigurationOutput) Filter() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o.ApplyT(func(v IndexingConfigurationThingIndexingConfiguration) *IndexingConfigurationThingIndexingConfigurationFilter { + return v.Filter + }).(IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) +} + // Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. func (o IndexingConfigurationThingIndexingConfigurationOutput) ManagedFields() IndexingConfigurationThingIndexingConfigurationManagedFieldArrayOutput { return o.ApplyT(func(v IndexingConfigurationThingIndexingConfiguration) []IndexingConfigurationThingIndexingConfigurationManagedField { @@ -699,6 +1051,16 @@ func (o IndexingConfigurationThingIndexingConfigurationPtrOutput) DeviceDefender }).(pulumi.StringPtrOutput) } +// Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. +func (o IndexingConfigurationThingIndexingConfigurationPtrOutput) Filter() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o.ApplyT(func(v *IndexingConfigurationThingIndexingConfiguration) *IndexingConfigurationThingIndexingConfigurationFilter { + if v == nil { + return nil + } + return v.Filter + }).(IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) +} + // Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. func (o IndexingConfigurationThingIndexingConfigurationPtrOutput) ManagedFields() IndexingConfigurationThingIndexingConfigurationManagedFieldArrayOutput { return o.ApplyT(func(v *IndexingConfigurationThingIndexingConfiguration) []IndexingConfigurationThingIndexingConfigurationManagedField { @@ -869,6 +1231,167 @@ func (o IndexingConfigurationThingIndexingConfigurationCustomFieldArrayOutput) I }).(IndexingConfigurationThingIndexingConfigurationCustomFieldOutput) } +type IndexingConfigurationThingIndexingConfigurationFilter struct { + // List of shadow names that you select to index. + NamedShadowNames []string `pulumi:"namedShadowNames"` +} + +// IndexingConfigurationThingIndexingConfigurationFilterInput is an input type that accepts IndexingConfigurationThingIndexingConfigurationFilterArgs and IndexingConfigurationThingIndexingConfigurationFilterOutput values. +// You can construct a concrete instance of `IndexingConfigurationThingIndexingConfigurationFilterInput` via: +// +// IndexingConfigurationThingIndexingConfigurationFilterArgs{...} +type IndexingConfigurationThingIndexingConfigurationFilterInput interface { + pulumi.Input + + ToIndexingConfigurationThingIndexingConfigurationFilterOutput() IndexingConfigurationThingIndexingConfigurationFilterOutput + ToIndexingConfigurationThingIndexingConfigurationFilterOutputWithContext(context.Context) IndexingConfigurationThingIndexingConfigurationFilterOutput +} + +type IndexingConfigurationThingIndexingConfigurationFilterArgs struct { + // List of shadow names that you select to index. + NamedShadowNames pulumi.StringArrayInput `pulumi:"namedShadowNames"` +} + +func (IndexingConfigurationThingIndexingConfigurationFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationFilter)(nil)).Elem() +} + +func (i IndexingConfigurationThingIndexingConfigurationFilterArgs) ToIndexingConfigurationThingIndexingConfigurationFilterOutput() IndexingConfigurationThingIndexingConfigurationFilterOutput { + return i.ToIndexingConfigurationThingIndexingConfigurationFilterOutputWithContext(context.Background()) +} + +func (i IndexingConfigurationThingIndexingConfigurationFilterArgs) ToIndexingConfigurationThingIndexingConfigurationFilterOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(IndexingConfigurationThingIndexingConfigurationFilterOutput) +} + +func (i IndexingConfigurationThingIndexingConfigurationFilterArgs) ToOutput(ctx context.Context) pulumix.Output[IndexingConfigurationThingIndexingConfigurationFilter] { + return pulumix.Output[IndexingConfigurationThingIndexingConfigurationFilter]{ + OutputState: i.ToIndexingConfigurationThingIndexingConfigurationFilterOutputWithContext(ctx).OutputState, + } +} + +func (i IndexingConfigurationThingIndexingConfigurationFilterArgs) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutput() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return i.ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(context.Background()) +} + +func (i IndexingConfigurationThingIndexingConfigurationFilterArgs) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IndexingConfigurationThingIndexingConfigurationFilterOutput).ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx) +} + +// IndexingConfigurationThingIndexingConfigurationFilterPtrInput is an input type that accepts IndexingConfigurationThingIndexingConfigurationFilterArgs, IndexingConfigurationThingIndexingConfigurationFilterPtr and IndexingConfigurationThingIndexingConfigurationFilterPtrOutput values. +// You can construct a concrete instance of `IndexingConfigurationThingIndexingConfigurationFilterPtrInput` via: +// +// IndexingConfigurationThingIndexingConfigurationFilterArgs{...} +// +// or: +// +// nil +type IndexingConfigurationThingIndexingConfigurationFilterPtrInput interface { + pulumi.Input + + ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutput() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput + ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(context.Context) IndexingConfigurationThingIndexingConfigurationFilterPtrOutput +} + +type indexingConfigurationThingIndexingConfigurationFilterPtrType IndexingConfigurationThingIndexingConfigurationFilterArgs + +func IndexingConfigurationThingIndexingConfigurationFilterPtr(v *IndexingConfigurationThingIndexingConfigurationFilterArgs) IndexingConfigurationThingIndexingConfigurationFilterPtrInput { + return (*indexingConfigurationThingIndexingConfigurationFilterPtrType)(v) +} + +func (*indexingConfigurationThingIndexingConfigurationFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IndexingConfigurationThingIndexingConfigurationFilter)(nil)).Elem() +} + +func (i *indexingConfigurationThingIndexingConfigurationFilterPtrType) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutput() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return i.ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(context.Background()) +} + +func (i *indexingConfigurationThingIndexingConfigurationFilterPtrType) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) +} + +func (i *indexingConfigurationThingIndexingConfigurationFilterPtrType) ToOutput(ctx context.Context) pulumix.Output[*IndexingConfigurationThingIndexingConfigurationFilter] { + return pulumix.Output[*IndexingConfigurationThingIndexingConfigurationFilter]{ + OutputState: i.ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx).OutputState, + } +} + +type IndexingConfigurationThingIndexingConfigurationFilterOutput struct{ *pulumi.OutputState } + +func (IndexingConfigurationThingIndexingConfigurationFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationFilter)(nil)).Elem() +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) ToIndexingConfigurationThingIndexingConfigurationFilterOutput() IndexingConfigurationThingIndexingConfigurationFilterOutput { + return o +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) ToIndexingConfigurationThingIndexingConfigurationFilterOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterOutput { + return o +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutput() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o.ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(context.Background()) +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IndexingConfigurationThingIndexingConfigurationFilter) *IndexingConfigurationThingIndexingConfigurationFilter { + return &v + }).(IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) ToOutput(ctx context.Context) pulumix.Output[IndexingConfigurationThingIndexingConfigurationFilter] { + return pulumix.Output[IndexingConfigurationThingIndexingConfigurationFilter]{ + OutputState: o.OutputState, + } +} + +// List of shadow names that you select to index. +func (o IndexingConfigurationThingIndexingConfigurationFilterOutput) NamedShadowNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v IndexingConfigurationThingIndexingConfigurationFilter) []string { return v.NamedShadowNames }).(pulumi.StringArrayOutput) +} + +type IndexingConfigurationThingIndexingConfigurationFilterPtrOutput struct{ *pulumi.OutputState } + +func (IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IndexingConfigurationThingIndexingConfigurationFilter)(nil)).Elem() +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutput() IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) ToIndexingConfigurationThingIndexingConfigurationFilterPtrOutputWithContext(ctx context.Context) IndexingConfigurationThingIndexingConfigurationFilterPtrOutput { + return o +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*IndexingConfigurationThingIndexingConfigurationFilter] { + return pulumix.Output[*IndexingConfigurationThingIndexingConfigurationFilter]{ + OutputState: o.OutputState, + } +} + +func (o IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) Elem() IndexingConfigurationThingIndexingConfigurationFilterOutput { + return o.ApplyT(func(v *IndexingConfigurationThingIndexingConfigurationFilter) IndexingConfigurationThingIndexingConfigurationFilter { + if v != nil { + return *v + } + var ret IndexingConfigurationThingIndexingConfigurationFilter + return ret + }).(IndexingConfigurationThingIndexingConfigurationFilterOutput) +} + +// List of shadow names that you select to index. +func (o IndexingConfigurationThingIndexingConfigurationFilterPtrOutput) NamedShadowNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IndexingConfigurationThingIndexingConfigurationFilter) []string { + if v == nil { + return nil + } + return v.NamedShadowNames + }).(pulumi.StringArrayOutput) +} + type IndexingConfigurationThingIndexingConfigurationManagedField struct { // The name of the field. Name *string `pulumi:"name"` @@ -10689,6 +11212,10 @@ func (o TopicRuleTimestreamTimestampPtrOutput) Value() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationAuthorizerConfigInput)(nil)).Elem(), DomainConfigurationAuthorizerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationAuthorizerConfigPtrInput)(nil)).Elem(), DomainConfigurationAuthorizerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationTlsConfigInput)(nil)).Elem(), DomainConfigurationTlsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainConfigurationTlsConfigPtrInput)(nil)).Elem(), DomainConfigurationTlsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingGroupIndexingConfigurationInput)(nil)).Elem(), IndexingConfigurationThingGroupIndexingConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingGroupIndexingConfigurationPtrInput)(nil)).Elem(), IndexingConfigurationThingGroupIndexingConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingGroupIndexingConfigurationCustomFieldInput)(nil)).Elem(), IndexingConfigurationThingGroupIndexingConfigurationCustomFieldArgs{}) @@ -10699,6 +11226,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationPtrInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationCustomFieldInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationCustomFieldArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationCustomFieldArrayInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationCustomFieldArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationFilterInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationFilterPtrInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationManagedFieldInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationManagedFieldArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IndexingConfigurationThingIndexingConfigurationManagedFieldArrayInput)(nil)).Elem(), IndexingConfigurationThingIndexingConfigurationManagedFieldArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProvisioningTemplatePreProvisioningHookInput)(nil)).Elem(), ProvisioningTemplatePreProvisioningHookArgs{}) @@ -10809,6 +11338,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleTimestreamDimensionArrayInput)(nil)).Elem(), TopicRuleTimestreamDimensionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleTimestreamTimestampInput)(nil)).Elem(), TopicRuleTimestreamTimestampArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleTimestreamTimestampPtrInput)(nil)).Elem(), TopicRuleTimestreamTimestampArgs{}) + pulumi.RegisterOutputType(DomainConfigurationAuthorizerConfigOutput{}) + pulumi.RegisterOutputType(DomainConfigurationAuthorizerConfigPtrOutput{}) + pulumi.RegisterOutputType(DomainConfigurationTlsConfigOutput{}) + pulumi.RegisterOutputType(DomainConfigurationTlsConfigPtrOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingGroupIndexingConfigurationOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingGroupIndexingConfigurationPtrOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutput{}) @@ -10819,6 +11352,8 @@ func init() { pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationPtrOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationCustomFieldOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationCustomFieldArrayOutput{}) + pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationFilterOutput{}) + pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationFilterPtrOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationManagedFieldOutput{}) pulumi.RegisterOutputType(IndexingConfigurationThingIndexingConfigurationManagedFieldArrayOutput{}) pulumi.RegisterOutputType(ProvisioningTemplatePreProvisioningHookOutput{}) diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go index acaf6f82524..bb3b995e226 100644 --- a/sdk/go/aws/lambda/pulumiTypes.go +++ b/sdk/go/aws/lambda/pulumiTypes.go @@ -4038,6 +4038,8 @@ func (o FunctionUrlCorsPtrOutput) MaxAge() pulumi.IntPtrOutput { } type FunctionVpcConfig struct { + // Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + Ipv6AllowedForDualStack *bool `pulumi:"ipv6AllowedForDualStack"` // List of security group IDs associated with the Lambda function. SecurityGroupIds []string `pulumi:"securityGroupIds"` // List of subnet IDs associated with the Lambda function. @@ -4057,6 +4059,8 @@ type FunctionVpcConfigInput interface { } type FunctionVpcConfigArgs struct { + // Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + Ipv6AllowedForDualStack pulumi.BoolPtrInput `pulumi:"ipv6AllowedForDualStack"` // List of security group IDs associated with the Lambda function. SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` // List of subnet IDs associated with the Lambda function. @@ -4159,6 +4163,11 @@ func (o FunctionVpcConfigOutput) ToOutput(ctx context.Context) pulumix.Output[Fu } } +// Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. +func (o FunctionVpcConfigOutput) Ipv6AllowedForDualStack() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FunctionVpcConfig) *bool { return v.Ipv6AllowedForDualStack }).(pulumi.BoolPtrOutput) +} + // List of security group IDs associated with the Lambda function. func (o FunctionVpcConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v FunctionVpcConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) @@ -4203,6 +4212,16 @@ func (o FunctionVpcConfigPtrOutput) Elem() FunctionVpcConfigOutput { }).(FunctionVpcConfigOutput) } +// Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. +func (o FunctionVpcConfigPtrOutput) Ipv6AllowedForDualStack() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FunctionVpcConfig) *bool { + if v == nil { + return nil + } + return v.Ipv6AllowedForDualStack + }).(pulumi.BoolPtrOutput) +} + // List of security group IDs associated with the Lambda function. func (o FunctionVpcConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *FunctionVpcConfig) []string { diff --git a/sdk/go/aws/lb/loadBalancer.go b/sdk/go/aws/lb/loadBalancer.go index 823c668788e..813262373d6 100644 --- a/sdk/go/aws/lb/loadBalancer.go +++ b/sdk/go/aws/lb/loadBalancer.go @@ -182,6 +182,8 @@ type LoadBalancer struct { DesyncMitigationMode pulumi.StringPtrOutput `pulumi:"desyncMitigationMode"` // The DNS name of the load balancer. DnsName pulumi.StringOutput `pulumi:"dnsName"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrOutput `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrOutput `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -209,7 +211,7 @@ type LoadBalancer struct { // this provider will autogenerate a name beginning with `tf-lb`. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. PreserveHostHeader pulumi.BoolPtrOutput `pulumi:"preserveHostHeader"` // A list of security group IDs to assign to the LB. Only valid for Load Balancers of type `application` or `network`. For load balancers of type `network` security groups cannot be added if none are currently present, and cannot all be removed once added. If either of these conditions are met, this will force a recreation of the resource. @@ -285,6 +287,8 @@ type loadBalancerState struct { DesyncMitigationMode *string `pulumi:"desyncMitigationMode"` // The DNS name of the load balancer. DnsName *string `pulumi:"dnsName"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy *string `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields *bool `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -349,6 +353,8 @@ type LoadBalancerState struct { DesyncMitigationMode pulumi.StringPtrInput // The DNS name of the load balancer. DnsName pulumi.StringPtrInput + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrInput // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrInput // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -411,6 +417,8 @@ type loadBalancerArgs struct { CustomerOwnedIpv4Pool *string `pulumi:"customerOwnedIpv4Pool"` // Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. DesyncMitigationMode *string `pulumi:"desyncMitigationMode"` + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy *string `pulumi:"dnsRecordClientRoutingPolicy"` // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields *bool `pulumi:"dropInvalidHeaderFields"` // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -463,6 +471,8 @@ type LoadBalancerArgs struct { CustomerOwnedIpv4Pool pulumi.StringPtrInput // Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. DesyncMitigationMode pulumi.StringPtrInput + // Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + DnsRecordClientRoutingPolicy pulumi.StringPtrInput // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. DropInvalidHeaderFields pulumi.BoolPtrInput // If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. @@ -648,6 +658,11 @@ func (o LoadBalancerOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) } +// Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. +func (o LoadBalancerOutput) DnsRecordClientRoutingPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.DnsRecordClientRoutingPolicy }).(pulumi.StringPtrOutput) +} + // Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. func (o LoadBalancerOutput) DropInvalidHeaderFields() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.BoolPtrOutput { return v.DropInvalidHeaderFields }).(pulumi.BoolPtrOutput) @@ -711,8 +726,8 @@ func (o LoadBalancerOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. -func (o LoadBalancerOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o LoadBalancerOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. diff --git a/sdk/go/aws/lb/pulumiTypes.go b/sdk/go/aws/lb/pulumiTypes.go index 8632cf44567..9640e68f6c2 100644 --- a/sdk/go/aws/lb/pulumiTypes.go +++ b/sdk/go/aws/lb/pulumiTypes.go @@ -5767,6 +5767,127 @@ func (o TargetGroupTargetFailoverArrayOutput) Index(i pulumi.IntInput) TargetGro }).(TargetGroupTargetFailoverOutput) } +type TargetGroupTargetHealthState struct { + // Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + EnableUnhealthyConnectionTermination bool `pulumi:"enableUnhealthyConnectionTermination"` +} + +// TargetGroupTargetHealthStateInput is an input type that accepts TargetGroupTargetHealthStateArgs and TargetGroupTargetHealthStateOutput values. +// You can construct a concrete instance of `TargetGroupTargetHealthStateInput` via: +// +// TargetGroupTargetHealthStateArgs{...} +type TargetGroupTargetHealthStateInput interface { + pulumi.Input + + ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput + ToTargetGroupTargetHealthStateOutputWithContext(context.Context) TargetGroupTargetHealthStateOutput +} + +type TargetGroupTargetHealthStateArgs struct { + // Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + EnableUnhealthyConnectionTermination pulumi.BoolInput `pulumi:"enableUnhealthyConnectionTermination"` +} + +func (TargetGroupTargetHealthStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TargetGroupTargetHealthState)(nil)).Elem() +} + +func (i TargetGroupTargetHealthStateArgs) ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput { + return i.ToTargetGroupTargetHealthStateOutputWithContext(context.Background()) +} + +func (i TargetGroupTargetHealthStateArgs) ToTargetGroupTargetHealthStateOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(TargetGroupTargetHealthStateOutput) +} + +func (i TargetGroupTargetHealthStateArgs) ToOutput(ctx context.Context) pulumix.Output[TargetGroupTargetHealthState] { + return pulumix.Output[TargetGroupTargetHealthState]{ + OutputState: i.ToTargetGroupTargetHealthStateOutputWithContext(ctx).OutputState, + } +} + +// TargetGroupTargetHealthStateArrayInput is an input type that accepts TargetGroupTargetHealthStateArray and TargetGroupTargetHealthStateArrayOutput values. +// You can construct a concrete instance of `TargetGroupTargetHealthStateArrayInput` via: +// +// TargetGroupTargetHealthStateArray{ TargetGroupTargetHealthStateArgs{...} } +type TargetGroupTargetHealthStateArrayInput interface { + pulumi.Input + + ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput + ToTargetGroupTargetHealthStateArrayOutputWithContext(context.Context) TargetGroupTargetHealthStateArrayOutput +} + +type TargetGroupTargetHealthStateArray []TargetGroupTargetHealthStateInput + +func (TargetGroupTargetHealthStateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TargetGroupTargetHealthState)(nil)).Elem() +} + +func (i TargetGroupTargetHealthStateArray) ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput { + return i.ToTargetGroupTargetHealthStateArrayOutputWithContext(context.Background()) +} + +func (i TargetGroupTargetHealthStateArray) ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TargetGroupTargetHealthStateArrayOutput) +} + +func (i TargetGroupTargetHealthStateArray) ToOutput(ctx context.Context) pulumix.Output[[]TargetGroupTargetHealthState] { + return pulumix.Output[[]TargetGroupTargetHealthState]{ + OutputState: i.ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx).OutputState, + } +} + +type TargetGroupTargetHealthStateOutput struct{ *pulumi.OutputState } + +func (TargetGroupTargetHealthStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TargetGroupTargetHealthState)(nil)).Elem() +} + +func (o TargetGroupTargetHealthStateOutput) ToTargetGroupTargetHealthStateOutput() TargetGroupTargetHealthStateOutput { + return o +} + +func (o TargetGroupTargetHealthStateOutput) ToTargetGroupTargetHealthStateOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateOutput { + return o +} + +func (o TargetGroupTargetHealthStateOutput) ToOutput(ctx context.Context) pulumix.Output[TargetGroupTargetHealthState] { + return pulumix.Output[TargetGroupTargetHealthState]{ + OutputState: o.OutputState, + } +} + +// Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. +func (o TargetGroupTargetHealthStateOutput) EnableUnhealthyConnectionTermination() pulumi.BoolOutput { + return o.ApplyT(func(v TargetGroupTargetHealthState) bool { return v.EnableUnhealthyConnectionTermination }).(pulumi.BoolOutput) +} + +type TargetGroupTargetHealthStateArrayOutput struct{ *pulumi.OutputState } + +func (TargetGroupTargetHealthStateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TargetGroupTargetHealthState)(nil)).Elem() +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToTargetGroupTargetHealthStateArrayOutput() TargetGroupTargetHealthStateArrayOutput { + return o +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToTargetGroupTargetHealthStateArrayOutputWithContext(ctx context.Context) TargetGroupTargetHealthStateArrayOutput { + return o +} + +func (o TargetGroupTargetHealthStateArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]TargetGroupTargetHealthState] { + return pulumix.Output[[]TargetGroupTargetHealthState]{ + OutputState: o.OutputState, + } +} + +func (o TargetGroupTargetHealthStateArrayOutput) Index(i pulumi.IntInput) TargetGroupTargetHealthStateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TargetGroupTargetHealthState { + return vs[0].([]TargetGroupTargetHealthState)[vs[1].(int)] + }).(TargetGroupTargetHealthStateOutput) +} + type GetListenerDefaultAction struct { AuthenticateCognitos []GetListenerDefaultActionAuthenticateCognito `pulumi:"authenticateCognitos"` AuthenticateOidcs []GetListenerDefaultActionAuthenticateOidc `pulumi:"authenticateOidcs"` @@ -7393,6 +7514,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupStickinessPtrInput)(nil)).Elem(), TargetGroupStickinessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetFailoverInput)(nil)).Elem(), TargetGroupTargetFailoverArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetFailoverArrayInput)(nil)).Elem(), TargetGroupTargetFailoverArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetHealthStateInput)(nil)).Elem(), TargetGroupTargetHealthStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TargetGroupTargetHealthStateArrayInput)(nil)).Elem(), TargetGroupTargetHealthStateArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionInput)(nil)).Elem(), GetListenerDefaultActionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionArrayInput)(nil)).Elem(), GetListenerDefaultActionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionAuthenticateCognitoInput)(nil)).Elem(), GetListenerDefaultActionAuthenticateCognitoArgs{}) @@ -7470,6 +7593,8 @@ func init() { pulumi.RegisterOutputType(TargetGroupStickinessPtrOutput{}) pulumi.RegisterOutputType(TargetGroupTargetFailoverOutput{}) pulumi.RegisterOutputType(TargetGroupTargetFailoverArrayOutput{}) + pulumi.RegisterOutputType(TargetGroupTargetHealthStateOutput{}) + pulumi.RegisterOutputType(TargetGroupTargetHealthStateArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionAuthenticateCognitoOutput{}) diff --git a/sdk/go/aws/lb/targetGroup.go b/sdk/go/aws/lb/targetGroup.go index 2eede025911..4f51fe2d122 100644 --- a/sdk/go/aws/lb/targetGroup.go +++ b/sdk/go/aws/lb/targetGroup.go @@ -139,6 +139,38 @@ import ( // } // // ``` +// ### Target group with unhealthy connection termination disabled +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lb" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := lb.NewTargetGroup(ctx, "tcp-example", &lb.TargetGroupArgs{ +// Port: pulumi.Int(25), +// Protocol: pulumi.String("TCP"), +// VpcId: pulumi.Any(aws_vpc.Main.Id), +// TargetHealthStates: lb.TargetGroupTargetHealthStateArray{ +// &lb.TargetGroupTargetHealthStateArgs{ +// EnableUnhealthyConnectionTermination: pulumi.Bool(false), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // // ## Import // @@ -157,7 +189,7 @@ type TargetGroup struct { // ARN suffix for use with CloudWatch Metrics. ArnSuffix pulumi.StringOutput `pulumi:"arnSuffix"` // Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. - ConnectionTermination pulumi.BoolPtrOutput `pulumi:"connectionTermination"` + ConnectionTermination pulumi.BoolOutput `pulumi:"connectionTermination"` // Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. DeregistrationDelay pulumi.IntPtrOutput `pulumi:"deregistrationDelay"` // Health Check configuration block. Detailed below. @@ -173,7 +205,7 @@ type TargetGroup struct { // Name of the target group. If omitted, this provider will assign a random, unique name. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. Port pulumi.IntPtrOutput `pulumi:"port"` // Whether client IP preservation is enabled. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#client-ip-preservation) for more information. @@ -196,6 +228,8 @@ type TargetGroup struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayOutput `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayOutput `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -294,6 +328,8 @@ type targetGroupState struct { TagsAll map[string]string `pulumi:"tagsAll"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates []TargetGroupTargetHealthState `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -353,6 +389,8 @@ type TargetGroupState struct { TagsAll pulumi.StringMapInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayInput // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -408,6 +446,8 @@ type targetGroupArgs struct { Tags map[string]string `pulumi:"tags"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates []TargetGroupTargetHealthState `pulumi:"targetHealthStates"` // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -460,6 +500,8 @@ type TargetGroupArgs struct { Tags pulumi.StringMapInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput + // Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + TargetHealthStates TargetGroupTargetHealthStateArrayInput // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -596,8 +638,8 @@ func (o TargetGroupOutput) ArnSuffix() pulumi.StringOutput { } // Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. -func (o TargetGroupOutput) ConnectionTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *TargetGroup) pulumi.BoolPtrOutput { return v.ConnectionTermination }).(pulumi.BoolPtrOutput) +func (o TargetGroupOutput) ConnectionTermination() pulumi.BoolOutput { + return o.ApplyT(func(v *TargetGroup) pulumi.BoolOutput { return v.ConnectionTermination }).(pulumi.BoolOutput) } // Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -636,8 +678,8 @@ func (o TargetGroupOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. -func (o TargetGroupOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TargetGroup) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o TargetGroupOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *TargetGroup) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. @@ -692,6 +734,11 @@ func (o TargetGroupOutput) TargetFailovers() TargetGroupTargetFailoverArrayOutpu return o.ApplyT(func(v *TargetGroup) TargetGroupTargetFailoverArrayOutput { return v.TargetFailovers }).(TargetGroupTargetFailoverArrayOutput) } +// Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. +func (o TargetGroupOutput) TargetHealthStates() TargetGroupTargetHealthStateArrayOutput { + return o.ApplyT(func(v *TargetGroup) TargetGroupTargetHealthStateArrayOutput { return v.TargetHealthStates }).(TargetGroupTargetHealthStateArrayOutput) +} + // Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. // // Note that you can't specify targets for a target group using both instance IDs and IP addresses. diff --git a/sdk/go/aws/lightsail/keyPair.go b/sdk/go/aws/lightsail/keyPair.go index 2d4ace2977e..2584ef34e43 100644 --- a/sdk/go/aws/lightsail/keyPair.go +++ b/sdk/go/aws/lightsail/keyPair.go @@ -118,8 +118,8 @@ type KeyPair struct { // The MD5 public key fingerprint as specified in section 4 of RFC 4716. Fingerprint pulumi.StringOutput `pulumi:"fingerprint"` // The name of the Lightsail Key Pair. If omitted, a unique name will be generated by this provider - Name pulumi.StringOutput `pulumi:"name"` - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + Name pulumi.StringOutput `pulumi:"name"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // An optional PGP key to encrypt the resulting private key material. Only used when creating a new key pair PgpKey pulumi.StringPtrOutput `pulumi:"pgpKey"` // the private key, base64 encoded. This is only populated when creating a new key, and when no `pgpKey` is provided. @@ -388,8 +388,8 @@ func (o KeyPairOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *KeyPair) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -func (o KeyPairOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KeyPair) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o KeyPairOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *KeyPair) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // An optional PGP key to encrypt the resulting private key material. Only used when creating a new key pair diff --git a/sdk/go/aws/mediaconvert/getQueue.go b/sdk/go/aws/mediaconvert/getQueue.go new file mode 100644 index 00000000000..0e1d26ba31b --- /dev/null +++ b/sdk/go/aws/mediaconvert/getQueue.go @@ -0,0 +1,145 @@ +// 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 mediaconvert + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Retrieve information about a AWS Elemental MediaConvert Queue. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediaconvert" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := mediaconvert.LookupQueue(ctx, &mediaconvert.LookupQueueArgs{ +// Id: "tf-example-queue", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupQueue(ctx *pulumi.Context, args *LookupQueueArgs, opts ...pulumi.InvokeOption) (*LookupQueueResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupQueueResult + err := ctx.Invoke("aws:mediaconvert/getQueue:getQueue", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getQueue. +type LookupQueueArgs struct { + // Unique identifier of the queue. The same as `name`. + Id string `pulumi:"id"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getQueue. +type LookupQueueResult struct { + // The Arn of the queue. + Arn string `pulumi:"arn"` + Id string `pulumi:"id"` + // The same as `id`. + Name string `pulumi:"name"` + // The status of the queue. + Status string `pulumi:"status"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + Tags map[string]string `pulumi:"tags"` +} + +func LookupQueueOutput(ctx *pulumi.Context, args LookupQueueOutputArgs, opts ...pulumi.InvokeOption) LookupQueueResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupQueueResult, error) { + args := v.(LookupQueueArgs) + r, err := LookupQueue(ctx, &args, opts...) + var s LookupQueueResult + if r != nil { + s = *r + } + return s, err + }).(LookupQueueResultOutput) +} + +// A collection of arguments for invoking getQueue. +type LookupQueueOutputArgs struct { + // Unique identifier of the queue. The same as `name`. + Id pulumi.StringInput `pulumi:"id"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupQueueOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueueArgs)(nil)).Elem() +} + +// A collection of values returned by getQueue. +type LookupQueueResultOutput struct{ *pulumi.OutputState } + +func (LookupQueueResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueueResult)(nil)).Elem() +} + +func (o LookupQueueResultOutput) ToLookupQueueResultOutput() LookupQueueResultOutput { + return o +} + +func (o LookupQueueResultOutput) ToLookupQueueResultOutputWithContext(ctx context.Context) LookupQueueResultOutput { + return o +} + +func (o LookupQueueResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupQueueResult] { + return pulumix.Output[LookupQueueResult]{ + OutputState: o.OutputState, + } +} + +// The Arn of the queue. +func (o LookupQueueResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueueResult) string { return v.Arn }).(pulumi.StringOutput) +} + +func (o LookupQueueResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueueResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The same as `id`. +func (o LookupQueueResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueueResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The status of the queue. +func (o LookupQueueResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueueResult) string { return v.Status }).(pulumi.StringOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o LookupQueueResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupQueueResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupQueueResultOutput{}) +} diff --git a/sdk/go/aws/msk/init.go b/sdk/go/aws/msk/init.go index a4e3f0a9236..ea772897045 100644 --- a/sdk/go/aws/msk/init.go +++ b/sdk/go/aws/msk/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ClusterPolicy{} case "aws:msk/configuration:Configuration": r = &Configuration{} + case "aws:msk/replicator:Replicator": + r = &Replicator{} case "aws:msk/scramSecretAssociation:ScramSecretAssociation": r = &ScramSecretAssociation{} case "aws:msk/serverlessCluster:ServerlessCluster": @@ -61,6 +63,11 @@ func init() { "msk/configuration", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "msk/replicator", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "msk/scramSecretAssociation", diff --git a/sdk/go/aws/msk/pulumiTypes.go b/sdk/go/aws/msk/pulumiTypes.go index 793bb0bc463..e3f9a8e8e8c 100644 --- a/sdk/go/aws/msk/pulumiTypes.go +++ b/sdk/go/aws/msk/pulumiTypes.go @@ -4333,6 +4333,857 @@ func (o ClusterOpenMonitoringPrometheusNodeExporterPtrOutput) EnabledInBroker() }).(pulumi.BoolPtrOutput) } +type ReplicatorKafkaCluster struct { + // Details of an Amazon MSK cluster. + AmazonMskCluster ReplicatorKafkaClusterAmazonMskCluster `pulumi:"amazonMskCluster"` + // Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + VpcConfig ReplicatorKafkaClusterVpcConfig `pulumi:"vpcConfig"` +} + +// ReplicatorKafkaClusterInput is an input type that accepts ReplicatorKafkaClusterArgs and ReplicatorKafkaClusterOutput values. +// You can construct a concrete instance of `ReplicatorKafkaClusterInput` via: +// +// ReplicatorKafkaClusterArgs{...} +type ReplicatorKafkaClusterInput interface { + pulumi.Input + + ToReplicatorKafkaClusterOutput() ReplicatorKafkaClusterOutput + ToReplicatorKafkaClusterOutputWithContext(context.Context) ReplicatorKafkaClusterOutput +} + +type ReplicatorKafkaClusterArgs struct { + // Details of an Amazon MSK cluster. + AmazonMskCluster ReplicatorKafkaClusterAmazonMskClusterInput `pulumi:"amazonMskCluster"` + // Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + VpcConfig ReplicatorKafkaClusterVpcConfigInput `pulumi:"vpcConfig"` +} + +func (ReplicatorKafkaClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaCluster)(nil)).Elem() +} + +func (i ReplicatorKafkaClusterArgs) ToReplicatorKafkaClusterOutput() ReplicatorKafkaClusterOutput { + return i.ToReplicatorKafkaClusterOutputWithContext(context.Background()) +} + +func (i ReplicatorKafkaClusterArgs) ToReplicatorKafkaClusterOutputWithContext(ctx context.Context) ReplicatorKafkaClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorKafkaClusterOutput) +} + +func (i ReplicatorKafkaClusterArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaCluster] { + return pulumix.Output[ReplicatorKafkaCluster]{ + OutputState: i.ToReplicatorKafkaClusterOutputWithContext(ctx).OutputState, + } +} + +// ReplicatorKafkaClusterArrayInput is an input type that accepts ReplicatorKafkaClusterArray and ReplicatorKafkaClusterArrayOutput values. +// You can construct a concrete instance of `ReplicatorKafkaClusterArrayInput` via: +// +// ReplicatorKafkaClusterArray{ ReplicatorKafkaClusterArgs{...} } +type ReplicatorKafkaClusterArrayInput interface { + pulumi.Input + + ToReplicatorKafkaClusterArrayOutput() ReplicatorKafkaClusterArrayOutput + ToReplicatorKafkaClusterArrayOutputWithContext(context.Context) ReplicatorKafkaClusterArrayOutput +} + +type ReplicatorKafkaClusterArray []ReplicatorKafkaClusterInput + +func (ReplicatorKafkaClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorKafkaCluster)(nil)).Elem() +} + +func (i ReplicatorKafkaClusterArray) ToReplicatorKafkaClusterArrayOutput() ReplicatorKafkaClusterArrayOutput { + return i.ToReplicatorKafkaClusterArrayOutputWithContext(context.Background()) +} + +func (i ReplicatorKafkaClusterArray) ToReplicatorKafkaClusterArrayOutputWithContext(ctx context.Context) ReplicatorKafkaClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorKafkaClusterArrayOutput) +} + +func (i ReplicatorKafkaClusterArray) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorKafkaCluster] { + return pulumix.Output[[]ReplicatorKafkaCluster]{ + OutputState: i.ToReplicatorKafkaClusterArrayOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorKafkaClusterOutput struct{ *pulumi.OutputState } + +func (ReplicatorKafkaClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaCluster)(nil)).Elem() +} + +func (o ReplicatorKafkaClusterOutput) ToReplicatorKafkaClusterOutput() ReplicatorKafkaClusterOutput { + return o +} + +func (o ReplicatorKafkaClusterOutput) ToReplicatorKafkaClusterOutputWithContext(ctx context.Context) ReplicatorKafkaClusterOutput { + return o +} + +func (o ReplicatorKafkaClusterOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaCluster] { + return pulumix.Output[ReplicatorKafkaCluster]{ + OutputState: o.OutputState, + } +} + +// Details of an Amazon MSK cluster. +func (o ReplicatorKafkaClusterOutput) AmazonMskCluster() ReplicatorKafkaClusterAmazonMskClusterOutput { + return o.ApplyT(func(v ReplicatorKafkaCluster) ReplicatorKafkaClusterAmazonMskCluster { return v.AmazonMskCluster }).(ReplicatorKafkaClusterAmazonMskClusterOutput) +} + +// Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. +func (o ReplicatorKafkaClusterOutput) VpcConfig() ReplicatorKafkaClusterVpcConfigOutput { + return o.ApplyT(func(v ReplicatorKafkaCluster) ReplicatorKafkaClusterVpcConfig { return v.VpcConfig }).(ReplicatorKafkaClusterVpcConfigOutput) +} + +type ReplicatorKafkaClusterArrayOutput struct{ *pulumi.OutputState } + +func (ReplicatorKafkaClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorKafkaCluster)(nil)).Elem() +} + +func (o ReplicatorKafkaClusterArrayOutput) ToReplicatorKafkaClusterArrayOutput() ReplicatorKafkaClusterArrayOutput { + return o +} + +func (o ReplicatorKafkaClusterArrayOutput) ToReplicatorKafkaClusterArrayOutputWithContext(ctx context.Context) ReplicatorKafkaClusterArrayOutput { + return o +} + +func (o ReplicatorKafkaClusterArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorKafkaCluster] { + return pulumix.Output[[]ReplicatorKafkaCluster]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorKafkaClusterArrayOutput) Index(i pulumi.IntInput) ReplicatorKafkaClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReplicatorKafkaCluster { + return vs[0].([]ReplicatorKafkaCluster)[vs[1].(int)] + }).(ReplicatorKafkaClusterOutput) +} + +type ReplicatorKafkaClusterAmazonMskCluster struct { + // The ARN of an Amazon MSK cluster. + MskClusterArn string `pulumi:"mskClusterArn"` +} + +// ReplicatorKafkaClusterAmazonMskClusterInput is an input type that accepts ReplicatorKafkaClusterAmazonMskClusterArgs and ReplicatorKafkaClusterAmazonMskClusterOutput values. +// You can construct a concrete instance of `ReplicatorKafkaClusterAmazonMskClusterInput` via: +// +// ReplicatorKafkaClusterAmazonMskClusterArgs{...} +type ReplicatorKafkaClusterAmazonMskClusterInput interface { + pulumi.Input + + ToReplicatorKafkaClusterAmazonMskClusterOutput() ReplicatorKafkaClusterAmazonMskClusterOutput + ToReplicatorKafkaClusterAmazonMskClusterOutputWithContext(context.Context) ReplicatorKafkaClusterAmazonMskClusterOutput +} + +type ReplicatorKafkaClusterAmazonMskClusterArgs struct { + // The ARN of an Amazon MSK cluster. + MskClusterArn pulumi.StringInput `pulumi:"mskClusterArn"` +} + +func (ReplicatorKafkaClusterAmazonMskClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaClusterAmazonMskCluster)(nil)).Elem() +} + +func (i ReplicatorKafkaClusterAmazonMskClusterArgs) ToReplicatorKafkaClusterAmazonMskClusterOutput() ReplicatorKafkaClusterAmazonMskClusterOutput { + return i.ToReplicatorKafkaClusterAmazonMskClusterOutputWithContext(context.Background()) +} + +func (i ReplicatorKafkaClusterAmazonMskClusterArgs) ToReplicatorKafkaClusterAmazonMskClusterOutputWithContext(ctx context.Context) ReplicatorKafkaClusterAmazonMskClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorKafkaClusterAmazonMskClusterOutput) +} + +func (i ReplicatorKafkaClusterAmazonMskClusterArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaClusterAmazonMskCluster] { + return pulumix.Output[ReplicatorKafkaClusterAmazonMskCluster]{ + OutputState: i.ToReplicatorKafkaClusterAmazonMskClusterOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorKafkaClusterAmazonMskClusterOutput struct{ *pulumi.OutputState } + +func (ReplicatorKafkaClusterAmazonMskClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaClusterAmazonMskCluster)(nil)).Elem() +} + +func (o ReplicatorKafkaClusterAmazonMskClusterOutput) ToReplicatorKafkaClusterAmazonMskClusterOutput() ReplicatorKafkaClusterAmazonMskClusterOutput { + return o +} + +func (o ReplicatorKafkaClusterAmazonMskClusterOutput) ToReplicatorKafkaClusterAmazonMskClusterOutputWithContext(ctx context.Context) ReplicatorKafkaClusterAmazonMskClusterOutput { + return o +} + +func (o ReplicatorKafkaClusterAmazonMskClusterOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaClusterAmazonMskCluster] { + return pulumix.Output[ReplicatorKafkaClusterAmazonMskCluster]{ + OutputState: o.OutputState, + } +} + +// The ARN of an Amazon MSK cluster. +func (o ReplicatorKafkaClusterAmazonMskClusterOutput) MskClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v ReplicatorKafkaClusterAmazonMskCluster) string { return v.MskClusterArn }).(pulumi.StringOutput) +} + +type ReplicatorKafkaClusterVpcConfig struct { + // The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + SecurityGroupsIds []string `pulumi:"securityGroupsIds"` + // The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + SubnetIds []string `pulumi:"subnetIds"` +} + +// ReplicatorKafkaClusterVpcConfigInput is an input type that accepts ReplicatorKafkaClusterVpcConfigArgs and ReplicatorKafkaClusterVpcConfigOutput values. +// You can construct a concrete instance of `ReplicatorKafkaClusterVpcConfigInput` via: +// +// ReplicatorKafkaClusterVpcConfigArgs{...} +type ReplicatorKafkaClusterVpcConfigInput interface { + pulumi.Input + + ToReplicatorKafkaClusterVpcConfigOutput() ReplicatorKafkaClusterVpcConfigOutput + ToReplicatorKafkaClusterVpcConfigOutputWithContext(context.Context) ReplicatorKafkaClusterVpcConfigOutput +} + +type ReplicatorKafkaClusterVpcConfigArgs struct { + // The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + SecurityGroupsIds pulumi.StringArrayInput `pulumi:"securityGroupsIds"` + // The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` +} + +func (ReplicatorKafkaClusterVpcConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaClusterVpcConfig)(nil)).Elem() +} + +func (i ReplicatorKafkaClusterVpcConfigArgs) ToReplicatorKafkaClusterVpcConfigOutput() ReplicatorKafkaClusterVpcConfigOutput { + return i.ToReplicatorKafkaClusterVpcConfigOutputWithContext(context.Background()) +} + +func (i ReplicatorKafkaClusterVpcConfigArgs) ToReplicatorKafkaClusterVpcConfigOutputWithContext(ctx context.Context) ReplicatorKafkaClusterVpcConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorKafkaClusterVpcConfigOutput) +} + +func (i ReplicatorKafkaClusterVpcConfigArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaClusterVpcConfig] { + return pulumix.Output[ReplicatorKafkaClusterVpcConfig]{ + OutputState: i.ToReplicatorKafkaClusterVpcConfigOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorKafkaClusterVpcConfigOutput struct{ *pulumi.OutputState } + +func (ReplicatorKafkaClusterVpcConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorKafkaClusterVpcConfig)(nil)).Elem() +} + +func (o ReplicatorKafkaClusterVpcConfigOutput) ToReplicatorKafkaClusterVpcConfigOutput() ReplicatorKafkaClusterVpcConfigOutput { + return o +} + +func (o ReplicatorKafkaClusterVpcConfigOutput) ToReplicatorKafkaClusterVpcConfigOutputWithContext(ctx context.Context) ReplicatorKafkaClusterVpcConfigOutput { + return o +} + +func (o ReplicatorKafkaClusterVpcConfigOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorKafkaClusterVpcConfig] { + return pulumix.Output[ReplicatorKafkaClusterVpcConfig]{ + OutputState: o.OutputState, + } +} + +// The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. +func (o ReplicatorKafkaClusterVpcConfigOutput) SecurityGroupsIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorKafkaClusterVpcConfig) []string { return v.SecurityGroupsIds }).(pulumi.StringArrayOutput) +} + +// The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. +func (o ReplicatorKafkaClusterVpcConfigOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorKafkaClusterVpcConfig) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +type ReplicatorReplicationInfoList struct { + // Confguration relating to consumer group replication. + ConsumerGroupReplications []ReplicatorReplicationInfoListConsumerGroupReplication `pulumi:"consumerGroupReplications"` + SourceKafkaClusterAlias *string `pulumi:"sourceKafkaClusterAlias"` + // The ARN of the source Kafka cluster. + SourceKafkaClusterArn string `pulumi:"sourceKafkaClusterArn"` + // The type of compression to use writing records to target Kafka cluster. + TargetCompressionType string `pulumi:"targetCompressionType"` + TargetKafkaClusterAlias *string `pulumi:"targetKafkaClusterAlias"` + // The ARN of the target Kafka cluster. + TargetKafkaClusterArn string `pulumi:"targetKafkaClusterArn"` + // Configuration relating to topic replication. + TopicReplications []ReplicatorReplicationInfoListTopicReplication `pulumi:"topicReplications"` +} + +// ReplicatorReplicationInfoListInput is an input type that accepts ReplicatorReplicationInfoListArgs and ReplicatorReplicationInfoListOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListInput` via: +// +// ReplicatorReplicationInfoListArgs{...} +type ReplicatorReplicationInfoListInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListOutput() ReplicatorReplicationInfoListOutput + ToReplicatorReplicationInfoListOutputWithContext(context.Context) ReplicatorReplicationInfoListOutput +} + +type ReplicatorReplicationInfoListArgs struct { + // Confguration relating to consumer group replication. + ConsumerGroupReplications ReplicatorReplicationInfoListConsumerGroupReplicationArrayInput `pulumi:"consumerGroupReplications"` + SourceKafkaClusterAlias pulumi.StringPtrInput `pulumi:"sourceKafkaClusterAlias"` + // The ARN of the source Kafka cluster. + SourceKafkaClusterArn pulumi.StringInput `pulumi:"sourceKafkaClusterArn"` + // The type of compression to use writing records to target Kafka cluster. + TargetCompressionType pulumi.StringInput `pulumi:"targetCompressionType"` + TargetKafkaClusterAlias pulumi.StringPtrInput `pulumi:"targetKafkaClusterAlias"` + // The ARN of the target Kafka cluster. + TargetKafkaClusterArn pulumi.StringInput `pulumi:"targetKafkaClusterArn"` + // Configuration relating to topic replication. + TopicReplications ReplicatorReplicationInfoListTopicReplicationArrayInput `pulumi:"topicReplications"` +} + +func (ReplicatorReplicationInfoListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoList)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListArgs) ToReplicatorReplicationInfoListOutput() ReplicatorReplicationInfoListOutput { + return i.ToReplicatorReplicationInfoListOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListArgs) ToReplicatorReplicationInfoListOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListOutput) +} + +func (i ReplicatorReplicationInfoListArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoList] { + return pulumix.Output[ReplicatorReplicationInfoList]{ + OutputState: i.ToReplicatorReplicationInfoListOutputWithContext(ctx).OutputState, + } +} + +func (i ReplicatorReplicationInfoListArgs) ToReplicatorReplicationInfoListPtrOutput() ReplicatorReplicationInfoListPtrOutput { + return i.ToReplicatorReplicationInfoListPtrOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListArgs) ToReplicatorReplicationInfoListPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListOutput).ToReplicatorReplicationInfoListPtrOutputWithContext(ctx) +} + +// ReplicatorReplicationInfoListPtrInput is an input type that accepts ReplicatorReplicationInfoListArgs, ReplicatorReplicationInfoListPtr and ReplicatorReplicationInfoListPtrOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListPtrInput` via: +// +// ReplicatorReplicationInfoListArgs{...} +// +// or: +// +// nil +type ReplicatorReplicationInfoListPtrInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListPtrOutput() ReplicatorReplicationInfoListPtrOutput + ToReplicatorReplicationInfoListPtrOutputWithContext(context.Context) ReplicatorReplicationInfoListPtrOutput +} + +type replicatorReplicationInfoListPtrType ReplicatorReplicationInfoListArgs + +func ReplicatorReplicationInfoListPtr(v *ReplicatorReplicationInfoListArgs) ReplicatorReplicationInfoListPtrInput { + return (*replicatorReplicationInfoListPtrType)(v) +} + +func (*replicatorReplicationInfoListPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicatorReplicationInfoList)(nil)).Elem() +} + +func (i *replicatorReplicationInfoListPtrType) ToReplicatorReplicationInfoListPtrOutput() ReplicatorReplicationInfoListPtrOutput { + return i.ToReplicatorReplicationInfoListPtrOutputWithContext(context.Background()) +} + +func (i *replicatorReplicationInfoListPtrType) ToReplicatorReplicationInfoListPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListPtrOutput) +} + +func (i *replicatorReplicationInfoListPtrType) ToOutput(ctx context.Context) pulumix.Output[*ReplicatorReplicationInfoList] { + return pulumix.Output[*ReplicatorReplicationInfoList]{ + OutputState: i.ToReplicatorReplicationInfoListPtrOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorReplicationInfoListOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoList)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListOutput) ToReplicatorReplicationInfoListOutput() ReplicatorReplicationInfoListOutput { + return o +} + +func (o ReplicatorReplicationInfoListOutput) ToReplicatorReplicationInfoListOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListOutput { + return o +} + +func (o ReplicatorReplicationInfoListOutput) ToReplicatorReplicationInfoListPtrOutput() ReplicatorReplicationInfoListPtrOutput { + return o.ToReplicatorReplicationInfoListPtrOutputWithContext(context.Background()) +} + +func (o ReplicatorReplicationInfoListOutput) ToReplicatorReplicationInfoListPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ReplicatorReplicationInfoList) *ReplicatorReplicationInfoList { + return &v + }).(ReplicatorReplicationInfoListPtrOutput) +} + +func (o ReplicatorReplicationInfoListOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoList] { + return pulumix.Output[ReplicatorReplicationInfoList]{ + OutputState: o.OutputState, + } +} + +// Confguration relating to consumer group replication. +func (o ReplicatorReplicationInfoListOutput) ConsumerGroupReplications() ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) []ReplicatorReplicationInfoListConsumerGroupReplication { + return v.ConsumerGroupReplications + }).(ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) +} + +func (o ReplicatorReplicationInfoListOutput) SourceKafkaClusterAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) *string { return v.SourceKafkaClusterAlias }).(pulumi.StringPtrOutput) +} + +// The ARN of the source Kafka cluster. +func (o ReplicatorReplicationInfoListOutput) SourceKafkaClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) string { return v.SourceKafkaClusterArn }).(pulumi.StringOutput) +} + +// The type of compression to use writing records to target Kafka cluster. +func (o ReplicatorReplicationInfoListOutput) TargetCompressionType() pulumi.StringOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) string { return v.TargetCompressionType }).(pulumi.StringOutput) +} + +func (o ReplicatorReplicationInfoListOutput) TargetKafkaClusterAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) *string { return v.TargetKafkaClusterAlias }).(pulumi.StringPtrOutput) +} + +// The ARN of the target Kafka cluster. +func (o ReplicatorReplicationInfoListOutput) TargetKafkaClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) string { return v.TargetKafkaClusterArn }).(pulumi.StringOutput) +} + +// Configuration relating to topic replication. +func (o ReplicatorReplicationInfoListOutput) TopicReplications() ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoList) []ReplicatorReplicationInfoListTopicReplication { + return v.TopicReplications + }).(ReplicatorReplicationInfoListTopicReplicationArrayOutput) +} + +type ReplicatorReplicationInfoListPtrOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicatorReplicationInfoList)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListPtrOutput) ToReplicatorReplicationInfoListPtrOutput() ReplicatorReplicationInfoListPtrOutput { + return o +} + +func (o ReplicatorReplicationInfoListPtrOutput) ToReplicatorReplicationInfoListPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListPtrOutput { + return o +} + +func (o ReplicatorReplicationInfoListPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ReplicatorReplicationInfoList] { + return pulumix.Output[*ReplicatorReplicationInfoList]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorReplicationInfoListPtrOutput) Elem() ReplicatorReplicationInfoListOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) ReplicatorReplicationInfoList { + if v != nil { + return *v + } + var ret ReplicatorReplicationInfoList + return ret + }).(ReplicatorReplicationInfoListOutput) +} + +// Confguration relating to consumer group replication. +func (o ReplicatorReplicationInfoListPtrOutput) ConsumerGroupReplications() ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) []ReplicatorReplicationInfoListConsumerGroupReplication { + if v == nil { + return nil + } + return v.ConsumerGroupReplications + }).(ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) +} + +func (o ReplicatorReplicationInfoListPtrOutput) SourceKafkaClusterAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) *string { + if v == nil { + return nil + } + return v.SourceKafkaClusterAlias + }).(pulumi.StringPtrOutput) +} + +// The ARN of the source Kafka cluster. +func (o ReplicatorReplicationInfoListPtrOutput) SourceKafkaClusterArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) *string { + if v == nil { + return nil + } + return &v.SourceKafkaClusterArn + }).(pulumi.StringPtrOutput) +} + +// The type of compression to use writing records to target Kafka cluster. +func (o ReplicatorReplicationInfoListPtrOutput) TargetCompressionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) *string { + if v == nil { + return nil + } + return &v.TargetCompressionType + }).(pulumi.StringPtrOutput) +} + +func (o ReplicatorReplicationInfoListPtrOutput) TargetKafkaClusterAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) *string { + if v == nil { + return nil + } + return v.TargetKafkaClusterAlias + }).(pulumi.StringPtrOutput) +} + +// The ARN of the target Kafka cluster. +func (o ReplicatorReplicationInfoListPtrOutput) TargetKafkaClusterArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) *string { + if v == nil { + return nil + } + return &v.TargetKafkaClusterArn + }).(pulumi.StringPtrOutput) +} + +// Configuration relating to topic replication. +func (o ReplicatorReplicationInfoListPtrOutput) TopicReplications() ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoList) []ReplicatorReplicationInfoListTopicReplication { + if v == nil { + return nil + } + return v.TopicReplications + }).(ReplicatorReplicationInfoListTopicReplicationArrayOutput) +} + +type ReplicatorReplicationInfoListConsumerGroupReplication struct { + // List of regular expression patterns indicating the consumer groups that should not be replicated. + ConsumerGroupsToExcludes []string `pulumi:"consumerGroupsToExcludes"` + // List of regular expression patterns indicating the consumer groups to copy. + ConsumerGroupsToReplicates []string `pulumi:"consumerGroupsToReplicates"` + // Whether to periodically check for new consumer groups. + DetectAndCopyNewConsumerGroups *bool `pulumi:"detectAndCopyNewConsumerGroups"` + // Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + SynchroniseConsumerGroupOffsets *bool `pulumi:"synchroniseConsumerGroupOffsets"` +} + +// ReplicatorReplicationInfoListConsumerGroupReplicationInput is an input type that accepts ReplicatorReplicationInfoListConsumerGroupReplicationArgs and ReplicatorReplicationInfoListConsumerGroupReplicationOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListConsumerGroupReplicationInput` via: +// +// ReplicatorReplicationInfoListConsumerGroupReplicationArgs{...} +type ReplicatorReplicationInfoListConsumerGroupReplicationInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListConsumerGroupReplicationOutput() ReplicatorReplicationInfoListConsumerGroupReplicationOutput + ToReplicatorReplicationInfoListConsumerGroupReplicationOutputWithContext(context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationOutput +} + +type ReplicatorReplicationInfoListConsumerGroupReplicationArgs struct { + // List of regular expression patterns indicating the consumer groups that should not be replicated. + ConsumerGroupsToExcludes pulumi.StringArrayInput `pulumi:"consumerGroupsToExcludes"` + // List of regular expression patterns indicating the consumer groups to copy. + ConsumerGroupsToReplicates pulumi.StringArrayInput `pulumi:"consumerGroupsToReplicates"` + // Whether to periodically check for new consumer groups. + DetectAndCopyNewConsumerGroups pulumi.BoolPtrInput `pulumi:"detectAndCopyNewConsumerGroups"` + // Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + SynchroniseConsumerGroupOffsets pulumi.BoolPtrInput `pulumi:"synchroniseConsumerGroupOffsets"` +} + +func (ReplicatorReplicationInfoListConsumerGroupReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListConsumerGroupReplication)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArgs) ToReplicatorReplicationInfoListConsumerGroupReplicationOutput() ReplicatorReplicationInfoListConsumerGroupReplicationOutput { + return i.ToReplicatorReplicationInfoListConsumerGroupReplicationOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArgs) ToReplicatorReplicationInfoListConsumerGroupReplicationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListConsumerGroupReplicationOutput) +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoListConsumerGroupReplication] { + return pulumix.Output[ReplicatorReplicationInfoListConsumerGroupReplication]{ + OutputState: i.ToReplicatorReplicationInfoListConsumerGroupReplicationOutputWithContext(ctx).OutputState, + } +} + +// ReplicatorReplicationInfoListConsumerGroupReplicationArrayInput is an input type that accepts ReplicatorReplicationInfoListConsumerGroupReplicationArray and ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListConsumerGroupReplicationArrayInput` via: +// +// ReplicatorReplicationInfoListConsumerGroupReplicationArray{ ReplicatorReplicationInfoListConsumerGroupReplicationArgs{...} } +type ReplicatorReplicationInfoListConsumerGroupReplicationArrayInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput() ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput + ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutputWithContext(context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput +} + +type ReplicatorReplicationInfoListConsumerGroupReplicationArray []ReplicatorReplicationInfoListConsumerGroupReplicationInput + +func (ReplicatorReplicationInfoListConsumerGroupReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorReplicationInfoListConsumerGroupReplication)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArray) ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput() ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return i.ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArray) ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) +} + +func (i ReplicatorReplicationInfoListConsumerGroupReplicationArray) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorReplicationInfoListConsumerGroupReplication] { + return pulumix.Output[[]ReplicatorReplicationInfoListConsumerGroupReplication]{ + OutputState: i.ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorReplicationInfoListConsumerGroupReplicationOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListConsumerGroupReplication)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ToReplicatorReplicationInfoListConsumerGroupReplicationOutput() ReplicatorReplicationInfoListConsumerGroupReplicationOutput { + return o +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ToReplicatorReplicationInfoListConsumerGroupReplicationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationOutput { + return o +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoListConsumerGroupReplication] { + return pulumix.Output[ReplicatorReplicationInfoListConsumerGroupReplication]{ + OutputState: o.OutputState, + } +} + +// List of regular expression patterns indicating the consumer groups that should not be replicated. +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ConsumerGroupsToExcludes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListConsumerGroupReplication) []string { + return v.ConsumerGroupsToExcludes + }).(pulumi.StringArrayOutput) +} + +// List of regular expression patterns indicating the consumer groups to copy. +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) ConsumerGroupsToReplicates() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListConsumerGroupReplication) []string { + return v.ConsumerGroupsToReplicates + }).(pulumi.StringArrayOutput) +} + +// Whether to periodically check for new consumer groups. +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) DetectAndCopyNewConsumerGroups() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListConsumerGroupReplication) *bool { + return v.DetectAndCopyNewConsumerGroups + }).(pulumi.BoolPtrOutput) +} + +// Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. +func (o ReplicatorReplicationInfoListConsumerGroupReplicationOutput) SynchroniseConsumerGroupOffsets() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListConsumerGroupReplication) *bool { + return v.SynchroniseConsumerGroupOffsets + }).(pulumi.BoolPtrOutput) +} + +type ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorReplicationInfoListConsumerGroupReplication)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput() ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return o +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) ToReplicatorReplicationInfoListConsumerGroupReplicationArrayOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput { + return o +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorReplicationInfoListConsumerGroupReplication] { + return pulumix.Output[[]ReplicatorReplicationInfoListConsumerGroupReplication]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput) Index(i pulumi.IntInput) ReplicatorReplicationInfoListConsumerGroupReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReplicatorReplicationInfoListConsumerGroupReplication { + return vs[0].([]ReplicatorReplicationInfoListConsumerGroupReplication)[vs[1].(int)] + }).(ReplicatorReplicationInfoListConsumerGroupReplicationOutput) +} + +type ReplicatorReplicationInfoListTopicReplication struct { + // Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + CopyAccessControlListsForTopics *bool `pulumi:"copyAccessControlListsForTopics"` + // Whether to periodically configure remote topics to match their corresponding upstream topics. + CopyTopicConfigurations *bool `pulumi:"copyTopicConfigurations"` + // Whether to periodically check for new topics and partitions. + DetectAndCopyNewTopics *bool `pulumi:"detectAndCopyNewTopics"` + // List of regular expression patterns indicating the topics that should not be replica. + TopicsToExcludes []string `pulumi:"topicsToExcludes"` + // List of regular expression patterns indicating the topics to copy. + TopicsToReplicates []string `pulumi:"topicsToReplicates"` +} + +// ReplicatorReplicationInfoListTopicReplicationInput is an input type that accepts ReplicatorReplicationInfoListTopicReplicationArgs and ReplicatorReplicationInfoListTopicReplicationOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListTopicReplicationInput` via: +// +// ReplicatorReplicationInfoListTopicReplicationArgs{...} +type ReplicatorReplicationInfoListTopicReplicationInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListTopicReplicationOutput() ReplicatorReplicationInfoListTopicReplicationOutput + ToReplicatorReplicationInfoListTopicReplicationOutputWithContext(context.Context) ReplicatorReplicationInfoListTopicReplicationOutput +} + +type ReplicatorReplicationInfoListTopicReplicationArgs struct { + // Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + CopyAccessControlListsForTopics pulumi.BoolPtrInput `pulumi:"copyAccessControlListsForTopics"` + // Whether to periodically configure remote topics to match their corresponding upstream topics. + CopyTopicConfigurations pulumi.BoolPtrInput `pulumi:"copyTopicConfigurations"` + // Whether to periodically check for new topics and partitions. + DetectAndCopyNewTopics pulumi.BoolPtrInput `pulumi:"detectAndCopyNewTopics"` + // List of regular expression patterns indicating the topics that should not be replica. + TopicsToExcludes pulumi.StringArrayInput `pulumi:"topicsToExcludes"` + // List of regular expression patterns indicating the topics to copy. + TopicsToReplicates pulumi.StringArrayInput `pulumi:"topicsToReplicates"` +} + +func (ReplicatorReplicationInfoListTopicReplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplication)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListTopicReplicationArgs) ToReplicatorReplicationInfoListTopicReplicationOutput() ReplicatorReplicationInfoListTopicReplicationOutput { + return i.ToReplicatorReplicationInfoListTopicReplicationOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListTopicReplicationArgs) ToReplicatorReplicationInfoListTopicReplicationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListTopicReplicationOutput) +} + +func (i ReplicatorReplicationInfoListTopicReplicationArgs) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoListTopicReplication] { + return pulumix.Output[ReplicatorReplicationInfoListTopicReplication]{ + OutputState: i.ToReplicatorReplicationInfoListTopicReplicationOutputWithContext(ctx).OutputState, + } +} + +// ReplicatorReplicationInfoListTopicReplicationArrayInput is an input type that accepts ReplicatorReplicationInfoListTopicReplicationArray and ReplicatorReplicationInfoListTopicReplicationArrayOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListTopicReplicationArrayInput` via: +// +// ReplicatorReplicationInfoListTopicReplicationArray{ ReplicatorReplicationInfoListTopicReplicationArgs{...} } +type ReplicatorReplicationInfoListTopicReplicationArrayInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListTopicReplicationArrayOutput() ReplicatorReplicationInfoListTopicReplicationArrayOutput + ToReplicatorReplicationInfoListTopicReplicationArrayOutputWithContext(context.Context) ReplicatorReplicationInfoListTopicReplicationArrayOutput +} + +type ReplicatorReplicationInfoListTopicReplicationArray []ReplicatorReplicationInfoListTopicReplicationInput + +func (ReplicatorReplicationInfoListTopicReplicationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorReplicationInfoListTopicReplication)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListTopicReplicationArray) ToReplicatorReplicationInfoListTopicReplicationArrayOutput() ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return i.ToReplicatorReplicationInfoListTopicReplicationArrayOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListTopicReplicationArray) ToReplicatorReplicationInfoListTopicReplicationArrayOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListTopicReplicationArrayOutput) +} + +func (i ReplicatorReplicationInfoListTopicReplicationArray) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorReplicationInfoListTopicReplication] { + return pulumix.Output[[]ReplicatorReplicationInfoListTopicReplication]{ + OutputState: i.ToReplicatorReplicationInfoListTopicReplicationArrayOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorReplicationInfoListTopicReplicationOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListTopicReplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplication)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListTopicReplicationOutput) ToReplicatorReplicationInfoListTopicReplicationOutput() ReplicatorReplicationInfoListTopicReplicationOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationOutput) ToReplicatorReplicationInfoListTopicReplicationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationOutput) ToOutput(ctx context.Context) pulumix.Output[ReplicatorReplicationInfoListTopicReplication] { + return pulumix.Output[ReplicatorReplicationInfoListTopicReplication]{ + OutputState: o.OutputState, + } +} + +// Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. +func (o ReplicatorReplicationInfoListTopicReplicationOutput) CopyAccessControlListsForTopics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) *bool { return v.CopyAccessControlListsForTopics }).(pulumi.BoolPtrOutput) +} + +// Whether to periodically configure remote topics to match their corresponding upstream topics. +func (o ReplicatorReplicationInfoListTopicReplicationOutput) CopyTopicConfigurations() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) *bool { return v.CopyTopicConfigurations }).(pulumi.BoolPtrOutput) +} + +// Whether to periodically check for new topics and partitions. +func (o ReplicatorReplicationInfoListTopicReplicationOutput) DetectAndCopyNewTopics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) *bool { return v.DetectAndCopyNewTopics }).(pulumi.BoolPtrOutput) +} + +// List of regular expression patterns indicating the topics that should not be replica. +func (o ReplicatorReplicationInfoListTopicReplicationOutput) TopicsToExcludes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) []string { return v.TopicsToExcludes }).(pulumi.StringArrayOutput) +} + +// List of regular expression patterns indicating the topics to copy. +func (o ReplicatorReplicationInfoListTopicReplicationOutput) TopicsToReplicates() pulumi.StringArrayOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) []string { return v.TopicsToReplicates }).(pulumi.StringArrayOutput) +} + +type ReplicatorReplicationInfoListTopicReplicationArrayOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListTopicReplicationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicatorReplicationInfoListTopicReplication)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListTopicReplicationArrayOutput) ToReplicatorReplicationInfoListTopicReplicationArrayOutput() ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationArrayOutput) ToReplicatorReplicationInfoListTopicReplicationArrayOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationArrayOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ReplicatorReplicationInfoListTopicReplication] { + return pulumix.Output[[]ReplicatorReplicationInfoListTopicReplication]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorReplicationInfoListTopicReplicationArrayOutput) Index(i pulumi.IntInput) ReplicatorReplicationInfoListTopicReplicationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReplicatorReplicationInfoListTopicReplication { + return vs[0].([]ReplicatorReplicationInfoListTopicReplication)[vs[1].(int)] + }).(ReplicatorReplicationInfoListTopicReplicationOutput) +} + type ServerlessClusterClientAuthentication struct { // Details for client authentication using SASL. See below. Sasl ServerlessClusterClientAuthenticationSasl `pulumi:"sasl"` @@ -5163,6 +6014,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterOpenMonitoringPrometheusJmxExporterPtrInput)(nil)).Elem(), ClusterOpenMonitoringPrometheusJmxExporterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOpenMonitoringPrometheusNodeExporterInput)(nil)).Elem(), ClusterOpenMonitoringPrometheusNodeExporterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterOpenMonitoringPrometheusNodeExporterPtrInput)(nil)).Elem(), ClusterOpenMonitoringPrometheusNodeExporterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorKafkaClusterInput)(nil)).Elem(), ReplicatorKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorKafkaClusterArrayInput)(nil)).Elem(), ReplicatorKafkaClusterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorKafkaClusterAmazonMskClusterInput)(nil)).Elem(), ReplicatorKafkaClusterAmazonMskClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorKafkaClusterVpcConfigInput)(nil)).Elem(), ReplicatorKafkaClusterVpcConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListInput)(nil)).Elem(), ReplicatorReplicationInfoListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListPtrInput)(nil)).Elem(), ReplicatorReplicationInfoListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListConsumerGroupReplicationInput)(nil)).Elem(), ReplicatorReplicationInfoListConsumerGroupReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListConsumerGroupReplicationArrayInput)(nil)).Elem(), ReplicatorReplicationInfoListConsumerGroupReplicationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationArrayInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationInput)(nil)).Elem(), ServerlessClusterClientAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationPtrInput)(nil)).Elem(), ServerlessClusterClientAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationSaslInput)(nil)).Elem(), ServerlessClusterClientAuthenticationSaslArgs{}) @@ -5221,6 +6082,16 @@ func init() { pulumi.RegisterOutputType(ClusterOpenMonitoringPrometheusJmxExporterPtrOutput{}) pulumi.RegisterOutputType(ClusterOpenMonitoringPrometheusNodeExporterOutput{}) pulumi.RegisterOutputType(ClusterOpenMonitoringPrometheusNodeExporterPtrOutput{}) + pulumi.RegisterOutputType(ReplicatorKafkaClusterOutput{}) + pulumi.RegisterOutputType(ReplicatorKafkaClusterArrayOutput{}) + pulumi.RegisterOutputType(ReplicatorKafkaClusterAmazonMskClusterOutput{}) + pulumi.RegisterOutputType(ReplicatorKafkaClusterVpcConfigOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListPtrOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListConsumerGroupReplicationOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListConsumerGroupReplicationArrayOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationArrayOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationPtrOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationSaslOutput{}) diff --git a/sdk/go/aws/msk/replicator.go b/sdk/go/aws/msk/replicator.go new file mode 100644 index 00000000000..95f94e2c1a4 --- /dev/null +++ b/sdk/go/aws/msk/replicator.go @@ -0,0 +1,379 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package msk + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource for managing an AWS Managed Streaming for Kafka Replicator. +// +// ## Example Usage +// +// ## Import +// +// Using `pulumi import`, import MSK replicators using the replicator ARN. For example: +// +// ```sh +// +// $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 +// +// ``` +type Replicator struct { + pulumi.CustomResourceState + + // ARN of the Replicator. 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"` + CurrentVersion pulumi.StringOutput `pulumi:"currentVersion"` + // A summary description of the replicator. + Description pulumi.StringPtrOutput `pulumi:"description"` + // A list of Kafka clusters which are targets of the replicator. + KafkaClusters ReplicatorKafkaClusterArrayOutput `pulumi:"kafkaClusters"` + // A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + ReplicationInfoList ReplicatorReplicationInfoListOutput `pulumi:"replicationInfoList"` + // The name of the replicator. + ReplicatorName pulumi.StringOutput `pulumi:"replicatorName"` + // The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + ServiceExecutionRoleArn pulumi.StringOutput `pulumi:"serviceExecutionRoleArn"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewReplicator registers a new resource with the given unique name, arguments, and options. +func NewReplicator(ctx *pulumi.Context, + name string, args *ReplicatorArgs, opts ...pulumi.ResourceOption) (*Replicator, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.KafkaClusters == nil { + return nil, errors.New("invalid value for required argument 'KafkaClusters'") + } + if args.ReplicationInfoList == nil { + return nil, errors.New("invalid value for required argument 'ReplicationInfoList'") + } + if args.ReplicatorName == nil { + return nil, errors.New("invalid value for required argument 'ReplicatorName'") + } + if args.ServiceExecutionRoleArn == nil { + return nil, errors.New("invalid value for required argument 'ServiceExecutionRoleArn'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "tagsAll", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Replicator + err := ctx.RegisterResource("aws:msk/replicator:Replicator", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetReplicator gets an existing Replicator 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 GetReplicator(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ReplicatorState, opts ...pulumi.ResourceOption) (*Replicator, error) { + var resource Replicator + err := ctx.ReadResource("aws:msk/replicator:Replicator", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Replicator resources. +type replicatorState struct { + // ARN of the Replicator. 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"` + CurrentVersion *string `pulumi:"currentVersion"` + // A summary description of the replicator. + Description *string `pulumi:"description"` + // A list of Kafka clusters which are targets of the replicator. + KafkaClusters []ReplicatorKafkaCluster `pulumi:"kafkaClusters"` + // A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + ReplicationInfoList *ReplicatorReplicationInfoList `pulumi:"replicationInfoList"` + // The name of the replicator. + ReplicatorName *string `pulumi:"replicatorName"` + // The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + ServiceExecutionRoleArn *string `pulumi:"serviceExecutionRoleArn"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type ReplicatorState struct { + // ARN of the Replicator. 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 + CurrentVersion pulumi.StringPtrInput + // A summary description of the replicator. + Description pulumi.StringPtrInput + // A list of Kafka clusters which are targets of the replicator. + KafkaClusters ReplicatorKafkaClusterArrayInput + // A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + ReplicationInfoList ReplicatorReplicationInfoListPtrInput + // The name of the replicator. + ReplicatorName pulumi.StringPtrInput + // The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + ServiceExecutionRoleArn pulumi.StringPtrInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (ReplicatorState) ElementType() reflect.Type { + return reflect.TypeOf((*replicatorState)(nil)).Elem() +} + +type replicatorArgs struct { + // A summary description of the replicator. + Description *string `pulumi:"description"` + // A list of Kafka clusters which are targets of the replicator. + KafkaClusters []ReplicatorKafkaCluster `pulumi:"kafkaClusters"` + // A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + ReplicationInfoList ReplicatorReplicationInfoList `pulumi:"replicationInfoList"` + // The name of the replicator. + ReplicatorName string `pulumi:"replicatorName"` + // The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + ServiceExecutionRoleArn string `pulumi:"serviceExecutionRoleArn"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Replicator resource. +type ReplicatorArgs struct { + // A summary description of the replicator. + Description pulumi.StringPtrInput + // A list of Kafka clusters which are targets of the replicator. + KafkaClusters ReplicatorKafkaClusterArrayInput + // A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + ReplicationInfoList ReplicatorReplicationInfoListInput + // The name of the replicator. + ReplicatorName pulumi.StringInput + // The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + ServiceExecutionRoleArn pulumi.StringInput + Tags pulumi.StringMapInput +} + +func (ReplicatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*replicatorArgs)(nil)).Elem() +} + +type ReplicatorInput interface { + pulumi.Input + + ToReplicatorOutput() ReplicatorOutput + ToReplicatorOutputWithContext(ctx context.Context) ReplicatorOutput +} + +func (*Replicator) ElementType() reflect.Type { + return reflect.TypeOf((**Replicator)(nil)).Elem() +} + +func (i *Replicator) ToReplicatorOutput() ReplicatorOutput { + return i.ToReplicatorOutputWithContext(context.Background()) +} + +func (i *Replicator) ToReplicatorOutputWithContext(ctx context.Context) ReplicatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorOutput) +} + +func (i *Replicator) ToOutput(ctx context.Context) pulumix.Output[*Replicator] { + return pulumix.Output[*Replicator]{ + OutputState: i.ToReplicatorOutputWithContext(ctx).OutputState, + } +} + +// ReplicatorArrayInput is an input type that accepts ReplicatorArray and ReplicatorArrayOutput values. +// You can construct a concrete instance of `ReplicatorArrayInput` via: +// +// ReplicatorArray{ ReplicatorArgs{...} } +type ReplicatorArrayInput interface { + pulumi.Input + + ToReplicatorArrayOutput() ReplicatorArrayOutput + ToReplicatorArrayOutputWithContext(context.Context) ReplicatorArrayOutput +} + +type ReplicatorArray []ReplicatorInput + +func (ReplicatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Replicator)(nil)).Elem() +} + +func (i ReplicatorArray) ToReplicatorArrayOutput() ReplicatorArrayOutput { + return i.ToReplicatorArrayOutputWithContext(context.Background()) +} + +func (i ReplicatorArray) ToReplicatorArrayOutputWithContext(ctx context.Context) ReplicatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorArrayOutput) +} + +func (i ReplicatorArray) ToOutput(ctx context.Context) pulumix.Output[[]*Replicator] { + return pulumix.Output[[]*Replicator]{ + OutputState: i.ToReplicatorArrayOutputWithContext(ctx).OutputState, + } +} + +// ReplicatorMapInput is an input type that accepts ReplicatorMap and ReplicatorMapOutput values. +// You can construct a concrete instance of `ReplicatorMapInput` via: +// +// ReplicatorMap{ "key": ReplicatorArgs{...} } +type ReplicatorMapInput interface { + pulumi.Input + + ToReplicatorMapOutput() ReplicatorMapOutput + ToReplicatorMapOutputWithContext(context.Context) ReplicatorMapOutput +} + +type ReplicatorMap map[string]ReplicatorInput + +func (ReplicatorMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Replicator)(nil)).Elem() +} + +func (i ReplicatorMap) ToReplicatorMapOutput() ReplicatorMapOutput { + return i.ToReplicatorMapOutputWithContext(context.Background()) +} + +func (i ReplicatorMap) ToReplicatorMapOutputWithContext(ctx context.Context) ReplicatorMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorMapOutput) +} + +func (i ReplicatorMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Replicator] { + return pulumix.Output[map[string]*Replicator]{ + OutputState: i.ToReplicatorMapOutputWithContext(ctx).OutputState, + } +} + +type ReplicatorOutput struct{ *pulumi.OutputState } + +func (ReplicatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Replicator)(nil)).Elem() +} + +func (o ReplicatorOutput) ToReplicatorOutput() ReplicatorOutput { + return o +} + +func (o ReplicatorOutput) ToReplicatorOutputWithContext(ctx context.Context) ReplicatorOutput { + return o +} + +func (o ReplicatorOutput) ToOutput(ctx context.Context) pulumix.Output[*Replicator] { + return pulumix.Output[*Replicator]{ + OutputState: o.OutputState, + } +} + +// ARN of the Replicator. 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 ReplicatorOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o ReplicatorOutput) CurrentVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringOutput { return v.CurrentVersion }).(pulumi.StringOutput) +} + +// A summary description of the replicator. +func (o ReplicatorOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// A list of Kafka clusters which are targets of the replicator. +func (o ReplicatorOutput) KafkaClusters() ReplicatorKafkaClusterArrayOutput { + return o.ApplyT(func(v *Replicator) ReplicatorKafkaClusterArrayOutput { return v.KafkaClusters }).(ReplicatorKafkaClusterArrayOutput) +} + +// A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. +func (o ReplicatorOutput) ReplicationInfoList() ReplicatorReplicationInfoListOutput { + return o.ApplyT(func(v *Replicator) ReplicatorReplicationInfoListOutput { return v.ReplicationInfoList }).(ReplicatorReplicationInfoListOutput) +} + +// The name of the replicator. +func (o ReplicatorOutput) ReplicatorName() pulumi.StringOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringOutput { return v.ReplicatorName }).(pulumi.StringOutput) +} + +// The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). +func (o ReplicatorOutput) ServiceExecutionRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringOutput { return v.ServiceExecutionRoleArn }).(pulumi.StringOutput) +} + +func (o ReplicatorOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o ReplicatorOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Replicator) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type ReplicatorArrayOutput struct{ *pulumi.OutputState } + +func (ReplicatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Replicator)(nil)).Elem() +} + +func (o ReplicatorArrayOutput) ToReplicatorArrayOutput() ReplicatorArrayOutput { + return o +} + +func (o ReplicatorArrayOutput) ToReplicatorArrayOutputWithContext(ctx context.Context) ReplicatorArrayOutput { + return o +} + +func (o ReplicatorArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Replicator] { + return pulumix.Output[[]*Replicator]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorArrayOutput) Index(i pulumi.IntInput) ReplicatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Replicator { + return vs[0].([]*Replicator)[vs[1].(int)] + }).(ReplicatorOutput) +} + +type ReplicatorMapOutput struct{ *pulumi.OutputState } + +func (ReplicatorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Replicator)(nil)).Elem() +} + +func (o ReplicatorMapOutput) ToReplicatorMapOutput() ReplicatorMapOutput { + return o +} + +func (o ReplicatorMapOutput) ToReplicatorMapOutputWithContext(ctx context.Context) ReplicatorMapOutput { + return o +} + +func (o ReplicatorMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Replicator] { + return pulumix.Output[map[string]*Replicator]{ + OutputState: o.OutputState, + } +} + +func (o ReplicatorMapOutput) MapIndex(k pulumi.StringInput) ReplicatorOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Replicator { + return vs[0].(map[string]*Replicator)[vs[1].(string)] + }).(ReplicatorOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorInput)(nil)).Elem(), &Replicator{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorArrayInput)(nil)).Elem(), ReplicatorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorMapInput)(nil)).Elem(), ReplicatorMap{}) + pulumi.RegisterOutputType(ReplicatorOutput{}) + pulumi.RegisterOutputType(ReplicatorArrayOutput{}) + pulumi.RegisterOutputType(ReplicatorMapOutput{}) +} diff --git a/sdk/go/aws/neptune/cluster.go b/sdk/go/aws/neptune/cluster.go index 1ce9ca7839e..46a038e630c 100644 --- a/sdk/go/aws/neptune/cluster.go +++ b/sdk/go/aws/neptune/cluster.go @@ -91,7 +91,7 @@ type Cluster struct { CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` - // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. EnableCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enableCloudwatchLogsExports"` // The DNS address of the Neptune instance Endpoint pulumi.StringOutput `pulumi:"endpoint"` @@ -201,7 +201,7 @@ type clusterState struct { CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. DeletionProtection *bool `pulumi:"deletionProtection"` - // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. EnableCloudwatchLogsExports []string `pulumi:"enableCloudwatchLogsExports"` // The DNS address of the Neptune instance Endpoint *string `pulumi:"endpoint"` @@ -278,7 +278,7 @@ type ClusterState struct { CopyTagsToSnapshot pulumi.BoolPtrInput // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. DeletionProtection pulumi.BoolPtrInput - // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. EnableCloudwatchLogsExports pulumi.StringArrayInput // The DNS address of the Neptune instance Endpoint pulumi.StringPtrInput @@ -353,7 +353,7 @@ type clusterArgs struct { CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. DeletionProtection *bool `pulumi:"deletionProtection"` - // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. EnableCloudwatchLogsExports []string `pulumi:"enableCloudwatchLogsExports"` // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. Engine *string `pulumi:"engine"` @@ -415,7 +415,7 @@ type ClusterArgs struct { CopyTagsToSnapshot pulumi.BoolPtrInput // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. DeletionProtection pulumi.BoolPtrInput - // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. EnableCloudwatchLogsExports pulumi.StringArrayInput // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. Engine pulumi.StringPtrInput @@ -625,7 +625,7 @@ func (o ClusterOutput) DeletionProtection() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) } -// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. +// A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. func (o ClusterOutput) EnableCloudwatchLogsExports() pulumi.StringArrayOutput { return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.EnableCloudwatchLogsExports }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/neptune/clusterInstance.go b/sdk/go/aws/neptune/clusterInstance.go index b020c57d446..1ded6a441bd 100644 --- a/sdk/go/aws/neptune/clusterInstance.go +++ b/sdk/go/aws/neptune/clusterInstance.go @@ -98,7 +98,7 @@ type ClusterInstance struct { Endpoint pulumi.StringOutput `pulumi:"endpoint"` // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. Engine pulumi.StringPtrOutput `pulumi:"engine"` - // The neptune engine version. + // The neptune engine version. Currently configuring this argumnet has no effect. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringOutput `pulumi:"identifier"` @@ -194,7 +194,7 @@ type clusterInstanceState struct { Endpoint *string `pulumi:"endpoint"` // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. Engine *string `pulumi:"engine"` - // The neptune engine version. + // The neptune engine version. Currently configuring this argumnet has no effect. EngineVersion *string `pulumi:"engineVersion"` // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` @@ -251,7 +251,7 @@ type ClusterInstanceState struct { Endpoint pulumi.StringPtrInput // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. Engine pulumi.StringPtrInput - // The neptune engine version. + // The neptune engine version. Currently configuring this argumnet has no effect. EngineVersion pulumi.StringPtrInput // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput @@ -304,7 +304,7 @@ type clusterInstanceArgs struct { ClusterIdentifier string `pulumi:"clusterIdentifier"` // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. Engine *string `pulumi:"engine"` - // The neptune engine version. + // The neptune engine version. Currently configuring this argumnet has no effect. EngineVersion *string `pulumi:"engineVersion"` // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` @@ -344,7 +344,7 @@ type ClusterInstanceArgs struct { ClusterIdentifier pulumi.StringInput // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. Engine pulumi.StringPtrInput - // The neptune engine version. + // The neptune engine version. Currently configuring this argumnet has no effect. EngineVersion pulumi.StringPtrInput // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. Identifier pulumi.StringPtrInput @@ -528,7 +528,7 @@ func (o ClusterInstanceOutput) Engine() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterInstance) pulumi.StringPtrOutput { return v.Engine }).(pulumi.StringPtrOutput) } -// The neptune engine version. +// The neptune engine version. Currently configuring this argumnet has no effect. func (o ClusterInstanceOutput) EngineVersion() pulumi.StringOutput { return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/opensearch/domainPolicy.go b/sdk/go/aws/opensearch/domainPolicy.go index 82f4870e83e..93115dcdf59 100644 --- a/sdk/go/aws/opensearch/domainPolicy.go +++ b/sdk/go/aws/opensearch/domainPolicy.go @@ -14,6 +14,76 @@ import ( ) // Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := opensearch.NewDomain(ctx, "example", &opensearch.DomainArgs{ +// EngineVersion: pulumi.String("OpenSearch_1.1"), +// }) +// if err != nil { +// return err +// } +// mainPolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ +// Statements: iam.GetPolicyDocumentStatementArray{ +// &iam.GetPolicyDocumentStatementArgs{ +// Effect: pulumi.String("Allow"), +// Principals: iam.GetPolicyDocumentStatementPrincipalArray{ +// &iam.GetPolicyDocumentStatementPrincipalArgs{ +// Type: pulumi.String("*"), +// Identifiers: pulumi.StringArray{ +// pulumi.String("*"), +// }, +// }, +// }, +// Actions: pulumi.StringArray{ +// pulumi.String("es:*"), +// }, +// Resources: pulumi.StringArray{ +// example.Arn.ApplyT(func(arn string) (string, error) { +// return fmt.Sprintf("%v/*", arn), nil +// }).(pulumi.StringOutput), +// }, +// Conditions: iam.GetPolicyDocumentStatementConditionArray{ +// &iam.GetPolicyDocumentStatementConditionArgs{ +// Test: pulumi.String("IpAddress"), +// Variable: pulumi.String("aws:SourceIp"), +// Values: pulumi.StringArray{ +// pulumi.String("127.0.0.1/32"), +// }, +// }, +// }, +// }, +// }, +// }, nil) +// _, err = opensearch.NewDomainPolicy(ctx, "mainDomainPolicy", &opensearch.DomainPolicyArgs{ +// DomainName: example.DomainName, +// AccessPolicies: mainPolicyDocument.ApplyT(func(mainPolicyDocument iam.GetPolicyDocumentResult) (*string, error) { +// return &mainPolicyDocument.Json, nil +// }).(pulumi.StringPtrOutput), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` type DomainPolicy struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/app.go b/sdk/go/aws/pinpoint/app.go index 47bacea6ab3..0a9998fbabf 100644 --- a/sdk/go/aws/pinpoint/app.go +++ b/sdk/go/aws/pinpoint/app.go @@ -69,7 +69,7 @@ type App struct { // The application name. By default generated by Pulumi Name pulumi.StringOutput `pulumi:"name"` // The name of the Pinpoint application. Conflicts with `name` - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime AppQuietTimePtrOutput `pulumi:"quietTime"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -331,8 +331,8 @@ func (o AppOutput) Name() pulumi.StringOutput { } // The name of the Pinpoint application. Conflicts with `name` -func (o AppOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *App) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o AppOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *App) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own diff --git a/sdk/go/aws/rds/cluster.go b/sdk/go/aws/rds/cluster.go index 266b6d1c2d0..f43ae2d26e5 100644 --- a/sdk/go/aws/rds/cluster.go +++ b/sdk/go/aws/rds/cluster.go @@ -388,7 +388,7 @@ import ( type Cluster struct { pulumi.CustomResourceState - // (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"` // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. AllowMajorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowMajorVersionUpgrade"` @@ -396,7 +396,10 @@ type Cluster struct { ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` // Amazon Resource Name (ARN) of cluster Arn pulumi.StringOutput `pulumi:"arn"` - // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + // A maximum of 3 AZs can be configured. AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) BacktrackWindow pulumi.IntPtrOutput `pulumi:"backtrackWindow"` @@ -414,17 +417,20 @@ type Cluster struct { CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) DatabaseName pulumi.StringOutput `pulumi:"databaseName"` - // (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. DbClusterInstanceClass pulumi.StringPtrOutput `pulumi:"dbClusterInstanceClass"` // A cluster parameter group to associate with the cluster. DbClusterParameterGroupName pulumi.StringOutput `pulumi:"dbClusterParameterGroupName"` // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. DbInstanceParameterGroupName pulumi.StringPtrOutput `pulumi:"dbInstanceParameterGroupName"` - // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. + // DB subnet group to associate with this DB cluster. + // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` // For use with RDS Custom. DbSystemId pulumi.StringOutput `pulumi:"dbSystemId"` - // 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`. + // If the DB cluster should have deletion protection enabled. + // The database can't be deleted when this value is set to `true`. + // The default is `false`. DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. EnableGlobalWriteForwarding pulumi.BoolPtrOutput `pulumi:"enableGlobalWriteForwarding"` @@ -494,7 +500,7 @@ type Cluster struct { SourceRegion pulumi.StringPtrOutput `pulumi:"sourceRegion"` // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` - // (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). StorageType pulumi.StringOutput `pulumi:"storageType"` // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -547,7 +553,7 @@ func GetCluster(ctx *pulumi.Context, // Input properties used for looking up and filtering Cluster resources. type clusterState struct { - // (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage *int `pulumi:"allocatedStorage"` // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` @@ -555,7 +561,10 @@ type clusterState struct { ApplyImmediately *bool `pulumi:"applyImmediately"` // Amazon Resource Name (ARN) of cluster Arn *string `pulumi:"arn"` - // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + // A maximum of 3 AZs can be configured. AvailabilityZones []string `pulumi:"availabilityZones"` // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) BacktrackWindow *int `pulumi:"backtrackWindow"` @@ -573,17 +582,20 @@ type clusterState struct { CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) DatabaseName *string `pulumi:"databaseName"` - // (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. DbClusterInstanceClass *string `pulumi:"dbClusterInstanceClass"` // A cluster parameter group to associate with the cluster. DbClusterParameterGroupName *string `pulumi:"dbClusterParameterGroupName"` // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. DbInstanceParameterGroupName *string `pulumi:"dbInstanceParameterGroupName"` - // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. + // DB subnet group to associate with this DB cluster. + // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` // For use with RDS Custom. DbSystemId *string `pulumi:"dbSystemId"` - // 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`. + // If the DB cluster should have deletion protection enabled. + // The database can't be deleted when this value is set to `true`. + // The default is `false`. DeletionProtection *bool `pulumi:"deletionProtection"` // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. EnableGlobalWriteForwarding *bool `pulumi:"enableGlobalWriteForwarding"` @@ -653,7 +665,7 @@ type clusterState struct { SourceRegion *string `pulumi:"sourceRegion"` // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted *bool `pulumi:"storageEncrypted"` - // (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). StorageType *string `pulumi:"storageType"` // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -666,7 +678,7 @@ type clusterState struct { } type ClusterState struct { - // (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage pulumi.IntPtrInput // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. AllowMajorVersionUpgrade pulumi.BoolPtrInput @@ -674,7 +686,10 @@ type ClusterState struct { ApplyImmediately pulumi.BoolPtrInput // Amazon Resource Name (ARN) of cluster Arn pulumi.StringPtrInput - // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + // A maximum of 3 AZs can be configured. AvailabilityZones pulumi.StringArrayInput // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) BacktrackWindow pulumi.IntPtrInput @@ -692,17 +707,20 @@ type ClusterState struct { CopyTagsToSnapshot pulumi.BoolPtrInput // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) DatabaseName pulumi.StringPtrInput - // (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. DbClusterInstanceClass pulumi.StringPtrInput // A cluster parameter group to associate with the cluster. DbClusterParameterGroupName pulumi.StringPtrInput // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. DbInstanceParameterGroupName pulumi.StringPtrInput - // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. + // DB subnet group to associate with this DB cluster. + // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. DbSubnetGroupName pulumi.StringPtrInput // For use with RDS Custom. DbSystemId pulumi.StringPtrInput - // 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`. + // If the DB cluster should have deletion protection enabled. + // The database can't be deleted when this value is set to `true`. + // The default is `false`. DeletionProtection pulumi.BoolPtrInput // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. EnableGlobalWriteForwarding pulumi.BoolPtrInput @@ -772,7 +790,7 @@ type ClusterState struct { SourceRegion pulumi.StringPtrInput // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolPtrInput - // (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). StorageType pulumi.StringPtrInput // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -789,13 +807,16 @@ func (ClusterState) ElementType() reflect.Type { } type clusterArgs struct { - // (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage *int `pulumi:"allocatedStorage"` // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) ApplyImmediately *bool `pulumi:"applyImmediately"` - // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + // A maximum of 3 AZs can be configured. AvailabilityZones []string `pulumi:"availabilityZones"` // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) BacktrackWindow *int `pulumi:"backtrackWindow"` @@ -811,17 +832,20 @@ type clusterArgs struct { CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) DatabaseName *string `pulumi:"databaseName"` - // (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. DbClusterInstanceClass *string `pulumi:"dbClusterInstanceClass"` // A cluster parameter group to associate with the cluster. DbClusterParameterGroupName *string `pulumi:"dbClusterParameterGroupName"` // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. DbInstanceParameterGroupName *string `pulumi:"dbInstanceParameterGroupName"` - // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. + // DB subnet group to associate with this DB cluster. + // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` // For use with RDS Custom. DbSystemId *string `pulumi:"dbSystemId"` - // 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`. + // If the DB cluster should have deletion protection enabled. + // The database can't be deleted when this value is set to `true`. + // The default is `false`. DeletionProtection *bool `pulumi:"deletionProtection"` // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. EnableGlobalWriteForwarding *bool `pulumi:"enableGlobalWriteForwarding"` @@ -880,7 +904,7 @@ type clusterArgs struct { SourceRegion *string `pulumi:"sourceRegion"` // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted *bool `pulumi:"storageEncrypted"` - // (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). StorageType *string `pulumi:"storageType"` // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -890,13 +914,16 @@ type clusterArgs struct { // The set of arguments for constructing a Cluster resource. type ClusterArgs struct { - // (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage pulumi.IntPtrInput // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. AllowMajorVersionUpgrade pulumi.BoolPtrInput // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) ApplyImmediately pulumi.BoolPtrInput - // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + // A maximum of 3 AZs can be configured. AvailabilityZones pulumi.StringArrayInput // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) BacktrackWindow pulumi.IntPtrInput @@ -912,17 +939,20 @@ type ClusterArgs struct { CopyTagsToSnapshot pulumi.BoolPtrInput // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) DatabaseName pulumi.StringPtrInput - // (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. DbClusterInstanceClass pulumi.StringPtrInput // A cluster parameter group to associate with the cluster. DbClusterParameterGroupName pulumi.StringPtrInput // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. DbInstanceParameterGroupName pulumi.StringPtrInput - // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. + // DB subnet group to associate with this DB cluster. + // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. DbSubnetGroupName pulumi.StringPtrInput // For use with RDS Custom. DbSystemId pulumi.StringPtrInput - // 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`. + // If the DB cluster should have deletion protection enabled. + // The database can't be deleted when this value is set to `true`. + // The default is `false`. DeletionProtection pulumi.BoolPtrInput // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. EnableGlobalWriteForwarding pulumi.BoolPtrInput @@ -981,7 +1011,7 @@ type ClusterArgs struct { SourceRegion pulumi.StringPtrInput // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolPtrInput - // (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). StorageType pulumi.StringPtrInput // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -1100,7 +1130,7 @@ func (o ClusterOutput) ToOutput(ctx context.Context) pulumix.Output[*Cluster] { } } -// (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. +// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. func (o ClusterOutput) AllocatedStorage() pulumi.IntOutput { return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.AllocatedStorage }).(pulumi.IntOutput) } @@ -1120,7 +1150,10 @@ func (o ClusterOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. +// List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. +// RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. +// We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. +// A maximum of 3 AZs can be configured. func (o ClusterOutput) AvailabilityZones() pulumi.StringArrayOutput { return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput) } @@ -1165,7 +1198,7 @@ func (o ClusterOutput) DatabaseName() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput) } -// (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. +// The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. func (o ClusterOutput) DbClusterInstanceClass() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.DbClusterInstanceClass }).(pulumi.StringPtrOutput) } @@ -1180,7 +1213,8 @@ func (o ClusterOutput) DbInstanceParameterGroupName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.DbInstanceParameterGroupName }).(pulumi.StringPtrOutput) } -// DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. +// DB subnet group to associate with this DB cluster. +// **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. func (o ClusterOutput) DbSubnetGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) } @@ -1190,7 +1224,9 @@ func (o ClusterOutput) DbSystemId() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbSystemId }).(pulumi.StringOutput) } -// 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`. +// If the DB cluster should have deletion protection enabled. +// The database can't be deleted when this value is set to `true`. +// The default is `false`. func (o ClusterOutput) DeletionProtection() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) } @@ -1367,7 +1403,7 @@ func (o ClusterOutput) StorageEncrypted() pulumi.BoolOutput { return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) } -// (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). +// (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). func (o ClusterOutput) StorageType() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/rds/instance.go b/sdk/go/aws/rds/instance.go index 1bf4eb5128c..507950091fb 100644 --- a/sdk/go/aws/rds/instance.go +++ b/sdk/go/aws/rds/instance.go @@ -238,7 +238,7 @@ type Instance struct { // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. BackupWindow pulumi.StringOutput `pulumi:"backupWindow"` // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - // See blueGreenUpdate below + // See `blueGreenUpdate` below. BlueGreenUpdate InstanceBlueGreenUpdatePtrOutput `pulumi:"blueGreenUpdate"` // The identifier of the CA certificate for the DB instance. CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"` @@ -310,8 +310,12 @@ type Instance struct { KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. LatestRestorableTime pulumi.StringOutput `pulumi:"latestRestorableTime"` - // (Optional, but required for some DB engines, i.e., Oracle - // SE1) License model information for this DB instance. + // License model information for this DB instance. Valid values for this field are as follows: + // * RDS for MariaDB: `general-public-license` + // * RDS for Microsoft SQL Server: `license-included` + // * RDS for MySQL: `general-public-license` + // * RDS for Oracle: `bring-your-own-license | license-included` + // * RDS for PostgreSQL: `postgresql-license` LicenseModel pulumi.StringOutput `pulumi:"licenseModel"` // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. ListenerEndpoints InstanceListenerEndpointArrayOutput `pulumi:"listenerEndpoints"` @@ -508,7 +512,7 @@ type instanceState struct { // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. BackupWindow *string `pulumi:"backupWindow"` // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - // See blueGreenUpdate below + // See `blueGreenUpdate` below. BlueGreenUpdate *InstanceBlueGreenUpdate `pulumi:"blueGreenUpdate"` // The identifier of the CA certificate for the DB instance. CaCertIdentifier *string `pulumi:"caCertIdentifier"` @@ -580,8 +584,12 @@ type instanceState struct { KmsKeyId *string `pulumi:"kmsKeyId"` // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. LatestRestorableTime *string `pulumi:"latestRestorableTime"` - // (Optional, but required for some DB engines, i.e., Oracle - // SE1) License model information for this DB instance. + // License model information for this DB instance. Valid values for this field are as follows: + // * RDS for MariaDB: `general-public-license` + // * RDS for Microsoft SQL Server: `license-included` + // * RDS for MySQL: `general-public-license` + // * RDS for Oracle: `bring-your-own-license | license-included` + // * RDS for PostgreSQL: `postgresql-license` LicenseModel *string `pulumi:"licenseModel"` // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. ListenerEndpoints []InstanceListenerEndpoint `pulumi:"listenerEndpoints"` @@ -738,7 +746,7 @@ type InstanceState struct { // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. BackupWindow pulumi.StringPtrInput // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - // See blueGreenUpdate below + // See `blueGreenUpdate` below. BlueGreenUpdate InstanceBlueGreenUpdatePtrInput // The identifier of the CA certificate for the DB instance. CaCertIdentifier pulumi.StringPtrInput @@ -810,8 +818,12 @@ type InstanceState struct { KmsKeyId pulumi.StringPtrInput // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. LatestRestorableTime pulumi.StringPtrInput - // (Optional, but required for some DB engines, i.e., Oracle - // SE1) License model information for this DB instance. + // License model information for this DB instance. Valid values for this field are as follows: + // * RDS for MariaDB: `general-public-license` + // * RDS for Microsoft SQL Server: `license-included` + // * RDS for MySQL: `general-public-license` + // * RDS for Oracle: `bring-your-own-license | license-included` + // * RDS for PostgreSQL: `postgresql-license` LicenseModel pulumi.StringPtrInput // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. ListenerEndpoints InstanceListenerEndpointArrayInput @@ -968,7 +980,7 @@ type instanceArgs struct { // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. BackupWindow *string `pulumi:"backupWindow"` // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - // See blueGreenUpdate below + // See `blueGreenUpdate` below. BlueGreenUpdate *InstanceBlueGreenUpdate `pulumi:"blueGreenUpdate"` // The identifier of the CA certificate for the DB instance. CaCertIdentifier *string `pulumi:"caCertIdentifier"` @@ -1032,8 +1044,12 @@ type instanceArgs struct { // The ARN for the KMS encryption key. If creating an // encrypted replica, set this to the destination KMS ARN. KmsKeyId *string `pulumi:"kmsKeyId"` - // (Optional, but required for some DB engines, i.e., Oracle - // SE1) License model information for this DB instance. + // License model information for this DB instance. Valid values for this field are as follows: + // * RDS for MariaDB: `general-public-license` + // * RDS for Microsoft SQL Server: `license-included` + // * RDS for MySQL: `general-public-license` + // * RDS for Oracle: `bring-your-own-license | license-included` + // * RDS for PostgreSQL: `postgresql-license` LicenseModel *string `pulumi:"licenseModel"` // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -1174,7 +1190,7 @@ type InstanceArgs struct { // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. BackupWindow pulumi.StringPtrInput // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - // See blueGreenUpdate below + // See `blueGreenUpdate` below. BlueGreenUpdate InstanceBlueGreenUpdatePtrInput // The identifier of the CA certificate for the DB instance. CaCertIdentifier pulumi.StringPtrInput @@ -1238,8 +1254,12 @@ type InstanceArgs struct { // The ARN for the KMS encryption key. If creating an // encrypted replica, set this to the destination KMS ARN. KmsKeyId pulumi.StringPtrInput - // (Optional, but required for some DB engines, i.e., Oracle - // SE1) License model information for this DB instance. + // License model information for this DB instance. Valid values for this field are as follows: + // * RDS for MariaDB: `general-public-license` + // * RDS for Microsoft SQL Server: `license-included` + // * RDS for MySQL: `general-public-license` + // * RDS for Oracle: `bring-your-own-license | license-included` + // * RDS for PostgreSQL: `postgresql-license` LicenseModel pulumi.StringPtrInput // The window to perform maintenance in. // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -1523,7 +1543,7 @@ func (o InstanceOutput) BackupWindow() pulumi.StringOutput { } // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. -// See blueGreenUpdate below +// See `blueGreenUpdate` below. func (o InstanceOutput) BlueGreenUpdate() InstanceBlueGreenUpdatePtrOutput { return o.ApplyT(func(v *Instance) InstanceBlueGreenUpdatePtrOutput { return v.BlueGreenUpdate }).(InstanceBlueGreenUpdatePtrOutput) } @@ -1673,8 +1693,12 @@ func (o InstanceOutput) LatestRestorableTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.LatestRestorableTime }).(pulumi.StringOutput) } -// (Optional, but required for some DB engines, i.e., Oracle -// SE1) License model information for this DB instance. +// License model information for this DB instance. Valid values for this field are as follows: +// * RDS for MariaDB: `general-public-license` +// * RDS for Microsoft SQL Server: `license-included` +// * RDS for MySQL: `general-public-license` +// * RDS for Oracle: `bring-your-own-license | license-included` +// * RDS for PostgreSQL: `postgresql-license` func (o InstanceOutput) LicenseModel() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.LicenseModel }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/signer/signingProfile.go b/sdk/go/aws/signer/signingProfile.go index 8fbd7c0de70..d24a714170f 100644 --- a/sdk/go/aws/signer/signingProfile.go +++ b/sdk/go/aws/signer/signingProfile.go @@ -73,7 +73,7 @@ type SigningProfile struct { // A unique signing profile name. By default generated by the provider. Signing profile names are immutable and cannot be reused after canceled. Name pulumi.StringOutput `pulumi:"name"` // A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // A human-readable name for the signing platform associated with the signing profile. PlatformDisplayName pulumi.StringOutput `pulumi:"platformDisplayName"` // The ID of the platform that is used by the target signing profile. @@ -348,8 +348,8 @@ func (o SigningProfileOutput) Name() pulumi.StringOutput { } // A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. -func (o SigningProfileOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SigningProfile) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o SigningProfileOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *SigningProfile) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // A human-readable name for the signing platform associated with the signing profile. diff --git a/sdk/go/aws/signer/signingProfilePermission.go b/sdk/go/aws/signer/signingProfilePermission.go index 64847c75c8e..b20dcb6faaa 100644 --- a/sdk/go/aws/signer/signingProfilePermission.go +++ b/sdk/go/aws/signer/signingProfilePermission.go @@ -89,7 +89,7 @@ import ( type SigningProfilePermission struct { pulumi.CustomResourceState - // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. Action pulumi.StringOutput `pulumi:"action"` // The AWS principal to be granted a cross-account permission. Principal pulumi.StringOutput `pulumi:"principal"` @@ -100,7 +100,7 @@ type SigningProfilePermission struct { // A unique statement identifier. By default generated by the provider. StatementId pulumi.StringOutput `pulumi:"statementId"` // A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statementId`. - StatementIdPrefix pulumi.StringPtrOutput `pulumi:"statementIdPrefix"` + StatementIdPrefix pulumi.StringOutput `pulumi:"statementIdPrefix"` } // NewSigningProfilePermission registers a new resource with the given unique name, arguments, and options. @@ -142,7 +142,7 @@ func GetSigningProfilePermission(ctx *pulumi.Context, // Input properties used for looking up and filtering SigningProfilePermission resources. type signingProfilePermissionState struct { - // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. Action *string `pulumi:"action"` // The AWS principal to be granted a cross-account permission. Principal *string `pulumi:"principal"` @@ -157,7 +157,7 @@ type signingProfilePermissionState struct { } type SigningProfilePermissionState struct { - // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. Action pulumi.StringPtrInput // The AWS principal to be granted a cross-account permission. Principal pulumi.StringPtrInput @@ -176,7 +176,7 @@ func (SigningProfilePermissionState) ElementType() reflect.Type { } type signingProfilePermissionArgs struct { - // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. Action string `pulumi:"action"` // The AWS principal to be granted a cross-account permission. Principal string `pulumi:"principal"` @@ -192,7 +192,7 @@ type signingProfilePermissionArgs struct { // The set of arguments for constructing a SigningProfilePermission resource. type SigningProfilePermissionArgs struct { - // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + // An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. Action pulumi.StringInput // The AWS principal to be granted a cross-account permission. Principal pulumi.StringInput @@ -317,7 +317,7 @@ func (o SigningProfilePermissionOutput) ToOutput(ctx context.Context) pulumix.Ou } } -// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. +// An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. func (o SigningProfilePermissionOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v *SigningProfilePermission) pulumi.StringOutput { return v.Action }).(pulumi.StringOutput) } @@ -343,8 +343,8 @@ func (o SigningProfilePermissionOutput) StatementId() pulumi.StringOutput { } // A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statementId`. -func (o SigningProfilePermissionOutput) StatementIdPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SigningProfilePermission) pulumi.StringPtrOutput { return v.StatementIdPrefix }).(pulumi.StringPtrOutput) +func (o SigningProfilePermissionOutput) StatementIdPrefix() pulumi.StringOutput { + return o.ApplyT(func(v *SigningProfilePermission) pulumi.StringOutput { return v.StatementIdPrefix }).(pulumi.StringOutput) } type SigningProfilePermissionArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/aws/wafv2/pulumiTypes.go b/sdk/go/aws/wafv2/pulumiTypes.go index e2613822a51..73b1b90cabb 100644 --- a/sdk/go/aws/wafv2/pulumiTypes.go +++ b/sdk/go/aws/wafv2/pulumiTypes.go @@ -3948,7 +3948,8 @@ type RuleGroupRuleStatementByteMatchStatementFieldToMatch struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementByteMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -3982,7 +3983,8 @@ type RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementByteMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -4120,6 +4122,12 @@ func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchOutput) Headers() Ru }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody { @@ -4232,6 +4240,15 @@ func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchPtrOutput) Headers() }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody { @@ -5448,6 +5465,169 @@ func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAl }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -11723,7 +11903,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -11757,7 +11938,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -11895,6 +12077,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -12007,6 +12195,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -13233,6 +13430,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -16155,7 +16515,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -16189,7 +16550,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -16327,6 +16689,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -16439,6 +16807,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -17665,6 +18042,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -19320,7 +19860,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -19354,7 +19895,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -19492,6 +20034,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -19604,6 +20152,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -20830,6 +21387,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -22506,7 +23226,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -22540,7 +23261,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -22678,6 +23400,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -22790,6 +23518,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -24016,6 +24753,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -25650,7 +26550,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -25684,7 +26585,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -25822,6 +26724,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { @@ -25934,6 +26842,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { @@ -27160,6 +28077,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -28794,7 +29874,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -28828,7 +29909,8 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -28966,6 +30048,12 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -29078,6 +30166,15 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -30304,6 +31401,169 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -31957,7 +33217,8 @@ type RuleGroupRuleStatementRegexMatchStatementFieldToMatch struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -31991,7 +33252,8 @@ type RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -32129,6 +33391,12 @@ func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchOutput) Headers() R }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody { @@ -32241,6 +33509,15 @@ func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchPtrOutput) Headers( }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRegexMatchStatementFieldToMatch) *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody { @@ -33457,6 +34734,169 @@ func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternA }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -35100,7 +36540,8 @@ type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch struct // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -35134,7 +36575,8 @@ type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs str // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -35272,6 +36714,12 @@ func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutpu }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -35384,6 +36832,15 @@ func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOu }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -36610,6 +38067,169 @@ func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeade }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -38282,7 +39902,8 @@ type RuleGroupRuleStatementSizeConstraintStatementFieldToMatch struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -38316,7 +39937,8 @@ type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -38454,6 +40076,12 @@ func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchOutput) Headers }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -38566,6 +40194,15 @@ func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) Head }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementSizeConstraintStatementFieldToMatch) *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -39788,6 +41425,169 @@ func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatt }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -41414,7 +43214,8 @@ type RuleGroupRuleStatementSqliMatchStatementFieldToMatch struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -41448,7 +43249,8 @@ type RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -41586,6 +43388,12 @@ func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchOutput) Headers() Ru }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody { @@ -41698,6 +43506,15 @@ func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrOutput) Headers() }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementSqliMatchStatementFieldToMatch) *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody { @@ -42914,6 +44731,169 @@ func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAl }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -44538,7 +46518,8 @@ type RuleGroupRuleStatementXssMatchStatementFieldToMatch struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies *RuleGroupRuleStatementXssMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers []RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + Headers []RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + Ja3Fingerprint *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody *RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -44572,7 +46553,8 @@ type RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs struct { // Inspect the cookies in the web request. See Cookies below for details. Cookies RuleGroupRuleStatementXssMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See Headers below for details. - Headers RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Headers RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + Ja3Fingerprint RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See JSON Body for details. JsonBody RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -44710,6 +46692,12 @@ func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchOutput) Headers() Rul }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchOutput) Ja3Fingerprint() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v RuleGroupRuleStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchOutput) JsonBody() RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody { @@ -44822,6 +46810,15 @@ func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchPtrOutput) Headers() }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See JSON Body for details. func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchPtrOutput) JsonBody() RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementXssMatchStatementFieldToMatch) *RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody { @@ -46038,6 +48035,169 @@ func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs and RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput + ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput +} + +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs struct { + // The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput).ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs, RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtr and RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs + +func RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtr(v *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *ruleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToRuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -55554,6 +57714,8 @@ type WebAclRuleStatementByteMatchStatementFieldToMatch struct { Cookies *WebAclRuleStatementByteMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -55588,6 +57750,8 @@ type WebAclRuleStatementByteMatchStatementFieldToMatchArgs struct { Cookies WebAclRuleStatementByteMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -55725,6 +57889,13 @@ func (o WebAclRuleStatementByteMatchStatementFieldToMatchOutput) Headers() WebAc }).(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementByteMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementByteMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody { @@ -55837,6 +58008,16 @@ func (o WebAclRuleStatementByteMatchStatementFieldToMatchPtrOutput) Headers() We }).(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementByteMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementByteMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody { @@ -57053,6 +59234,169 @@ func (o WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPt }).(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -67437,6 +69781,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStat Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -67471,6 +69817,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStat Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -67608,6 +69956,13 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -67720,6 +70075,16 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -68946,6 +71311,169 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -71861,6 +74389,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchSta Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -71895,6 +74425,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchSta Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -72032,6 +74564,13 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -72144,6 +74683,16 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -73370,6 +75919,169 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -75018,6 +77730,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternS Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -75052,6 +77766,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternS Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -75189,6 +77905,13 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -75301,6 +78024,16 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -76527,6 +79260,169 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -78196,6 +81092,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstrain Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -78230,6 +81128,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstrain Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -78367,6 +81267,13 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -78479,6 +81386,16 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -79705,6 +82622,169 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -80863,2816 +83943,6 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr }).(pulumi.StringPtrOutput) } -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation struct { - // Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. - Priority int `pulumi:"priority"` - // Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. - Type string `pulumi:"type"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs struct { - // Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. - Priority pulumi.IntInput `pulumi:"priority"` - // Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. - Type pulumi.StringInput `pulumi:"type"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx).OutputState, - } -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{...} } -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ - OutputState: o.OutputState, - } -} - -// Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) Priority() pulumi.IntOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation) int { - return v.Priority - }).(pulumi.IntOutput) -} - -// Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation) string { - return v.Type - }).(pulumi.StringOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation { - return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)[vs[1].(int)] - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement struct { - // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. - TextTransformations []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation `pulumi:"textTransformations"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs struct { - // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. - TextTransformations WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayInput `pulumi:"textTransformations"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ - OutputState: o.OutputState, - } -} - -// Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) FieldToMatch() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { - return v.FieldToMatch - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) -} - -// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) TextTransformations() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation { - return v.TextTransformations - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) -} - -// Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) FieldToMatch() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { - if v == nil { - return nil - } - return v.FieldToMatch - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) -} - -// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) TextTransformations() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation { - if v == nil { - return nil - } - return v.TextTransformations - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch struct { - // Inspect all query arguments. - AllQueryArguments *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments `pulumi:"allQueryArguments"` - // Inspect the request body, which immediately follows the request headers. See `body` below for details. - Body *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody `pulumi:"body"` - // Inspect the cookies in the web request. See `cookies` below for details. - Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` - // Inspect the request headers. See `headers` below for details. - Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` - // Inspect the request body as JSON. See `jsonBody` for details. - JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` - // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. - Method *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod `pulumi:"method"` - // Inspect the query string. This is the part of a URL that appears after a `?` character, if any. - QueryString *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString `pulumi:"queryString"` - // Inspect a single header. See `singleHeader` below for details. - SingleHeader *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader `pulumi:"singleHeader"` - // Inspect a single query argument. See `singleQueryArgument` below for details. - SingleQueryArgument *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument `pulumi:"singleQueryArgument"` - // Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. - UriPath *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath `pulumi:"uriPath"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs struct { - // Inspect all query arguments. - AllQueryArguments WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput `pulumi:"allQueryArguments"` - // Inspect the request body, which immediately follows the request headers. See `body` below for details. - Body WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput `pulumi:"body"` - // Inspect the cookies in the web request. See `cookies` below for details. - Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` - // Inspect the request headers. See `headers` below for details. - Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` - // Inspect the request body as JSON. See `jsonBody` for details. - JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` - // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. - Method WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput `pulumi:"method"` - // Inspect the query string. This is the part of a URL that appears after a `?` character, if any. - QueryString WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput `pulumi:"queryString"` - // Inspect a single header. See `singleHeader` below for details. - SingleHeader WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrInput `pulumi:"singleHeader"` - // Inspect a single query argument. See `singleQueryArgument` below for details. - SingleQueryArgument WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrInput `pulumi:"singleQueryArgument"` - // Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. - UriPath WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrInput `pulumi:"uriPath"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ - OutputState: o.OutputState, - } -} - -// Inspect all query arguments. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) AllQueryArguments() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { - return v.AllQueryArguments - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) -} - -// Inspect the request body, which immediately follows the request headers. See `body` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Body() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { - return v.Body - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) -} - -// Inspect the cookies in the web request. See `cookies` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Cookies() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { - return v.Cookies - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) -} - -// Inspect the request headers. See `headers` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Headers() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { - return v.Headers - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) -} - -// Inspect the request body as JSON. See `jsonBody` for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { - return v.JsonBody - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) -} - -// Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Method() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { - return v.Method - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) -} - -// Inspect the query string. This is the part of a URL that appears after a `?` character, if any. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) QueryString() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { - return v.QueryString - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) -} - -// Inspect a single header. See `singleHeader` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) SingleHeader() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader { - return v.SingleHeader - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput) -} - -// Inspect a single query argument. See `singleQueryArgument` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) SingleQueryArgument() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument { - return v.SingleQueryArgument - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput) -} - -// Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) UriPath() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath { - return v.UriPath - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) -} - -// Inspect all query arguments. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) AllQueryArguments() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { - if v == nil { - return nil - } - return v.AllQueryArguments - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) -} - -// Inspect the request body, which immediately follows the request headers. See `body` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Body() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { - if v == nil { - return nil - } - return v.Body - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) -} - -// Inspect the cookies in the web request. See `cookies` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Cookies() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { - if v == nil { - return nil - } - return v.Cookies - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) -} - -// Inspect the request headers. See `headers` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Headers() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { - if v == nil { - return nil - } - return v.Headers - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) -} - -// Inspect the request body as JSON. See `jsonBody` for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { - if v == nil { - return nil - } - return v.JsonBody - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) -} - -// Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Method() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { - if v == nil { - return nil - } - return v.Method - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) -} - -// Inspect the query string. This is the part of a URL that appears after a `?` character, if any. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) QueryString() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { - if v == nil { - return nil - } - return v.QueryString - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) -} - -// Inspect a single header. See `singleHeader` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) SingleHeader() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader { - if v == nil { - return nil - } - return v.SingleHeader - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput) -} - -// Inspect a single query argument. See `singleQueryArgument` below for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) SingleQueryArgument() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument { - if v == nil { - return nil - } - return v.SingleQueryArgument - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput) -} - -// Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) UriPath() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath { - if v == nil { - return nil - } - return v.UriPath - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody struct { - // What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. - OversizeHandling *string `pulumi:"oversizeHandling"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs struct { - // What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. - OversizeHandling pulumi.StringPtrInput `pulumi:"oversizeHandling"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ - OutputState: o.OutputState, - } -} - -// What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) OversizeHandling() pulumi.StringPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *string { - return v.OversizeHandling - }).(pulumi.StringPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) -} - -// What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) OversizeHandling() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *string { - if v == nil { - return nil - } - return v.OversizeHandling - }).(pulumi.StringPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies struct { - // The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) - MatchPatterns []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern `pulumi:"matchPatterns"` - // The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` - MatchScope string `pulumi:"matchScope"` - // What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. - OversizeHandling string `pulumi:"oversizeHandling"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs struct { - // The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) - MatchPatterns WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput `pulumi:"matchPatterns"` - // The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` - MatchScope pulumi.StringInput `pulumi:"matchScope"` - // What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. - OversizeHandling pulumi.StringInput `pulumi:"oversizeHandling"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ - OutputState: o.OutputState, - } -} - -// The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) MatchPatterns() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { - return v.MatchPatterns - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) -} - -// The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) MatchScope() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) string { - return v.MatchScope - }).(pulumi.StringOutput) -} - -// What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) OversizeHandling() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) string { - return v.OversizeHandling - }).(pulumi.StringOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) -} - -// The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) MatchPatterns() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { - if v == nil { - return nil - } - return v.MatchPatterns - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) -} - -// The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) MatchScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *string { - if v == nil { - return nil - } - return &v.MatchScope - }).(pulumi.StringPtrOutput) -} - -// What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) OversizeHandling() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *string { - if v == nil { - return nil - } - return &v.OversizeHandling - }).(pulumi.StringPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern struct { - // An empty configuration block that is used for inspecting all headers. - All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll `pulumi:"all"` - ExcludedCookies []string `pulumi:"excludedCookies"` - IncludedCookies []string `pulumi:"includedCookies"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs struct { - // An empty configuration block that is used for inspecting all headers. - All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput `pulumi:"all"` - ExcludedCookies pulumi.StringArrayInput `pulumi:"excludedCookies"` - IncludedCookies pulumi.StringArrayInput `pulumi:"includedCookies"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx).OutputState, - } -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{...} } -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ - OutputState: o.OutputState, - } -} - -// An empty configuration block that is used for inspecting all headers. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { - return v.All - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ExcludedCookies() pulumi.StringArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) []string { - return v.ExcludedCookies - }).(pulumi.StringArrayOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) IncludedCookies() pulumi.StringArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) []string { - return v.IncludedCookies - }).(pulumi.StringArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { - return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)[vs[1].(int)] - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader struct { - // The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: - MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern `pulumi:"matchPattern"` - // The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. - MatchScope string `pulumi:"matchScope"` - // Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. - OversizeHandling string `pulumi:"oversizeHandling"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs struct { - // The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: - MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput `pulumi:"matchPattern"` - // The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. - MatchScope pulumi.StringInput `pulumi:"matchScope"` - // Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. - OversizeHandling pulumi.StringInput `pulumi:"oversizeHandling"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx).OutputState, - } -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{...} } -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ - OutputState: o.OutputState, - } -} - -// The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern { - return v.MatchPattern - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) -} - -// The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) MatchScope() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) string { - return v.MatchScope - }).(pulumi.StringOutput) -} - -// Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) OversizeHandling() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) string { - return v.OversizeHandling - }).(pulumi.StringOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { - return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { - return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)[vs[1].(int)] - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern struct { - // An empty configuration block that is used for inspecting all headers. - All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll `pulumi:"all"` - // An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. - ExcludedHeaders []string `pulumi:"excludedHeaders"` - // An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. - IncludedHeaders []string `pulumi:"includedHeaders"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs struct { - // An empty configuration block that is used for inspecting all headers. - All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput `pulumi:"all"` - // An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. - ExcludedHeaders pulumi.StringArrayInput `pulumi:"excludedHeaders"` - // An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. - IncludedHeaders pulumi.StringArrayInput `pulumi:"includedHeaders"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern]{ - OutputState: o.OutputState, - } -} - -// An empty configuration block that is used for inspecting all headers. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { - return v.All - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) -} - -// An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ExcludedHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) []string { - return v.ExcludedHeaders - }).(pulumi.StringArrayOutput) -} - -// An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) IncludedHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) []string { - return v.IncludedHeaders - }).(pulumi.StringArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody struct { - // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. - InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` - // The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. - MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern `pulumi:"matchPattern"` - // The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. - MatchScope string `pulumi:"matchScope"` - // What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. - OversizeHandling *string `pulumi:"oversizeHandling"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs struct { - // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. - InvalidFallbackBehavior pulumi.StringPtrInput `pulumi:"invalidFallbackBehavior"` - // The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. - MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput `pulumi:"matchPattern"` - // The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. - MatchScope pulumi.StringInput `pulumi:"matchScope"` - // What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. - OversizeHandling pulumi.StringPtrInput `pulumi:"oversizeHandling"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ - OutputState: o.OutputState, - } -} - -// What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) InvalidFallbackBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { - return v.InvalidFallbackBehavior - }).(pulumi.StringPtrOutput) -} - -// The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { - return v.MatchPattern - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) -} - -// The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) MatchScope() pulumi.StringOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) string { - return v.MatchScope - }).(pulumi.StringOutput) -} - -// What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) OversizeHandling() pulumi.StringPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { - return v.OversizeHandling - }).(pulumi.StringPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) -} - -// What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) InvalidFallbackBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { - if v == nil { - return nil - } - return v.InvalidFallbackBehavior - }).(pulumi.StringPtrOutput) -} - -// The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { - if v == nil { - return nil - } - return &v.MatchPattern - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) -} - -// The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) MatchScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { - if v == nil { - return nil - } - return &v.MatchScope - }).(pulumi.StringPtrOutput) -} - -// What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) OversizeHandling() pulumi.StringPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { - if v == nil { - return nil - } - return v.OversizeHandling - }).(pulumi.StringPtrOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern struct { - // An empty configuration block that is used for inspecting all headers. - All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll `pulumi:"all"` - IncludedPaths []string `pulumi:"includedPaths"` -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs struct { - // An empty configuration block that is used for inspecting all headers. - All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput `pulumi:"all"` - IncludedPaths pulumi.StringArrayInput `pulumi:"includedPaths"` -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ - OutputState: o.OutputState, - } -} - -// An empty configuration block that is used for inspecting all headers. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { - return v.All - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) IncludedPaths() pulumi.StringArrayOutput { - return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) []string { - return v.IncludedPaths - }).(pulumi.StringArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) -} - -// An empty configuration block that is used for inspecting all headers. -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { - if v == nil { - return nil - } - return v.All - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) IncludedPaths() pulumi.StringArrayOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) []string { - if v == nil { - return nil - } - return v.IncludedPaths - }).(pulumi.StringArrayOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString struct { -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{...} -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs struct { -} - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx).OutputState, - } -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) -} - -func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx) -} - -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput values. -// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput` via: -// -// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{...} -// -// or: -// -// nil -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput interface { - pulumi.Input - - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput - ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput -} - -type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs - -func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput { - return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType)(v) -} - -func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) -} - -func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ - OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx).OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ElementType() reflect.Type { - return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { - return &v - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { - return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ - OutputState: o.OutputState, - } -} - -type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput struct{ *pulumi.OutputState } - -func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { - return o -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { - return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ - OutputState: o.OutputState, - } -} - -func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { - return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { - if v != nil { - return *v - } - var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString - return ret - }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*RegexPatternSetRegularExpressionInput)(nil)).Elem(), RegexPatternSetRegularExpressionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegexPatternSetRegularExpressionArrayInput)(nil)).Elem(), RegexPatternSetRegularExpressionArray{}) @@ -83740,6 +84010,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -83829,6 +84101,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -83880,6 +84154,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -83917,6 +84193,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -83954,6 +84232,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -83991,6 +84271,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84028,6 +84310,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84065,6 +84349,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84102,6 +84388,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84139,6 +84427,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84176,6 +84466,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84213,6 +84505,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84349,6 +84643,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84481,6 +84777,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84532,6 +84830,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84569,6 +84869,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84606,6 +84908,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -84620,39 +84924,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleHeaderPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{}) pulumi.RegisterOutputType(RegexPatternSetRegularExpressionOutput{}) pulumi.RegisterOutputType(RegexPatternSetRegularExpressionArrayOutput{}) pulumi.RegisterOutputType(RuleGroupCustomResponseBodyOutput{}) @@ -84719,6 +84990,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -84808,6 +85081,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -84859,6 +85134,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -84896,6 +85173,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -84933,6 +85212,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -84970,6 +85251,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85007,6 +85290,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85044,6 +85329,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85081,6 +85368,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85118,6 +85407,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85155,6 +85446,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85192,6 +85485,8 @@ func init() { pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85328,6 +85623,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85460,6 +85757,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85511,6 +85810,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85548,6 +85849,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85585,6 +85888,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -85599,37 +85904,4 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleHeaderPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchSingleQueryArgumentPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput{}) - pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput{}) } diff --git a/sdk/go/aws/wafv2/pulumiTypes1.go b/sdk/go/aws/wafv2/pulumiTypes1.go index 398437525ca..85bb7fda4fd 100644 --- a/sdk/go/aws/wafv2/pulumiTypes1.go +++ b/sdk/go/aws/wafv2/pulumiTypes1.go @@ -14,6 +14,3000 @@ import ( var _ = internal.GetEnvOrDefault +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPath + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation struct { + // Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. + Priority int `pulumi:"priority"` + // Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. + Type string `pulumi:"type"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs struct { + // Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. + Priority pulumi.IntInput `pulumi:"priority"` + // Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. + Type pulumi.StringInput `pulumi:"type"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx).OutputState, + } +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{...} } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ + OutputState: o.OutputState, + } +} + +// Relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation) int { + return v.Priority + }).(pulumi.IntOutput) +} + +// Transformation to apply, please refer to the Text Transformation [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_TextTransformation.html) for more details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation) string { + return v.Type + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation { + return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformation)[vs[1].(int)] + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement struct { + // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. + FieldToMatch *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. + TextTransformations []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation `pulumi:"textTransformations"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs struct { + // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. + FieldToMatch WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. + TextTransformations WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayInput `pulumi:"textTransformations"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ + OutputState: o.OutputState, + } +} + +// Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) FieldToMatch() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { + return v.FieldToMatch + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) +} + +// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) TextTransformations() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation { + return v.TextTransformations + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) +} + +// Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) FieldToMatch() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { + if v == nil { + return nil + } + return v.FieldToMatch + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) +} + +// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) TextTransformations() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation { + if v == nil { + return nil + } + return v.TextTransformations + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch struct { + // Inspect all query arguments. + AllQueryArguments *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments `pulumi:"allQueryArguments"` + // Inspect the request body, which immediately follows the request headers. See `body` below for details. + Body *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody `pulumi:"body"` + // Inspect the cookies in the web request. See `cookies` below for details. + Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` + // Inspect the request headers. See `headers` below for details. + Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` + // Inspect the request body as JSON. See `jsonBody` for details. + JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` + // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. + Method *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod `pulumi:"method"` + // Inspect the query string. This is the part of a URL that appears after a `?` character, if any. + QueryString *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString `pulumi:"queryString"` + // Inspect a single header. See `singleHeader` below for details. + SingleHeader *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader `pulumi:"singleHeader"` + // Inspect a single query argument. See `singleQueryArgument` below for details. + SingleQueryArgument *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument `pulumi:"singleQueryArgument"` + // Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. + UriPath *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath `pulumi:"uriPath"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs struct { + // Inspect all query arguments. + AllQueryArguments WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput `pulumi:"allQueryArguments"` + // Inspect the request body, which immediately follows the request headers. See `body` below for details. + Body WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput `pulumi:"body"` + // Inspect the cookies in the web request. See `cookies` below for details. + Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` + // Inspect the request headers. See `headers` below for details. + Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` + // Inspect the request body as JSON. See `jsonBody` for details. + JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` + // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. + Method WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput `pulumi:"method"` + // Inspect the query string. This is the part of a URL that appears after a `?` character, if any. + QueryString WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput `pulumi:"queryString"` + // Inspect a single header. See `singleHeader` below for details. + SingleHeader WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrInput `pulumi:"singleHeader"` + // Inspect a single query argument. See `singleQueryArgument` below for details. + SingleQueryArgument WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrInput `pulumi:"singleQueryArgument"` + // Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. + UriPath WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrInput `pulumi:"uriPath"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ + OutputState: o.OutputState, + } +} + +// Inspect all query arguments. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) AllQueryArguments() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { + return v.AllQueryArguments + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) +} + +// Inspect the request body, which immediately follows the request headers. See `body` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Body() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { + return v.Body + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) +} + +// Inspect the cookies in the web request. See `cookies` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Cookies() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { + return v.Cookies + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) +} + +// Inspect the request headers. See `headers` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Headers() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { + return v.Headers + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) +} + +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +// Inspect the request body as JSON. See `jsonBody` for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { + return v.JsonBody + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) +} + +// Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Method() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { + return v.Method + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) +} + +// Inspect the query string. This is the part of a URL that appears after a `?` character, if any. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) QueryString() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { + return v.QueryString + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) +} + +// Inspect a single header. See `singleHeader` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) SingleHeader() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader { + return v.SingleHeader + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput) +} + +// Inspect a single query argument. See `singleQueryArgument` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) SingleQueryArgument() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument { + return v.SingleQueryArgument + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput) +} + +// Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) UriPath() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath { + return v.UriPath + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) +} + +// Inspect all query arguments. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) AllQueryArguments() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { + if v == nil { + return nil + } + return v.AllQueryArguments + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) +} + +// Inspect the request body, which immediately follows the request headers. See `body` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Body() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { + if v == nil { + return nil + } + return v.Body + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) +} + +// Inspect the cookies in the web request. See `cookies` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Cookies() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { + if v == nil { + return nil + } + return v.Cookies + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) +} + +// Inspect the request headers. See `headers` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Headers() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { + if v == nil { + return nil + } + return v.Headers + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) +} + +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +// Inspect the request body as JSON. See `jsonBody` for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { + if v == nil { + return nil + } + return v.JsonBody + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) +} + +// Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Method() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { + if v == nil { + return nil + } + return v.Method + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) +} + +// Inspect the query string. This is the part of a URL that appears after a `?` character, if any. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) QueryString() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { + if v == nil { + return nil + } + return v.QueryString + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) +} + +// Inspect a single header. See `singleHeader` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) SingleHeader() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader { + if v == nil { + return nil + } + return v.SingleHeader + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput) +} + +// Inspect a single query argument. See `singleQueryArgument` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) SingleQueryArgument() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgument { + if v == nil { + return nil + } + return v.SingleQueryArgument + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentPtrOutput) +} + +// Inspect the request URI path. This is the part of a web request that identifies a resource, for example, `/images/daily-ad.jpg`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) UriPath() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPath { + if v == nil { + return nil + } + return v.UriPath + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchUriPathPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArguments + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody struct { + // What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. + OversizeHandling *string `pulumi:"oversizeHandling"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs struct { + // What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. + OversizeHandling pulumi.StringPtrInput `pulumi:"oversizeHandling"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ + OutputState: o.OutputState, + } +} + +// What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) OversizeHandling() pulumi.StringPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *string { + return v.OversizeHandling + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput) +} + +// What WAF should do if the body is larger than WAF can inspect. WAF does not support inspecting the entire contents of the body of a web request when the body exceeds 8 KB (8192 bytes). Only the first 8 KB of the request body are forwarded to WAF by the underlying host service. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput) OversizeHandling() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody) *string { + if v == nil { + return nil + } + return v.OversizeHandling + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies struct { + // The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) + MatchPatterns []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern `pulumi:"matchPatterns"` + // The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` + MatchScope string `pulumi:"matchScope"` + // What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. + OversizeHandling string `pulumi:"oversizeHandling"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs struct { + // The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) + MatchPatterns WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput `pulumi:"matchPatterns"` + // The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` + MatchScope pulumi.StringInput `pulumi:"matchScope"` + // What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. + OversizeHandling pulumi.StringInput `pulumi:"oversizeHandling"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ + OutputState: o.OutputState, + } +} + +// The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) MatchPatterns() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { + return v.MatchPatterns + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) +} + +// The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) MatchScope() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) string { + return v.MatchScope + }).(pulumi.StringOutput) +} + +// What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) OversizeHandling() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) string { + return v.OversizeHandling + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput) +} + +// The filter to use to identify the subset of cookies to inspect in a web request. You must specify exactly one setting: either `all`, `includedCookies` or `excludedCookies`. More details: [CookieMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_CookieMatchPattern.html) +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) MatchPatterns() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { + if v == nil { + return nil + } + return v.MatchPatterns + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) +} + +// The parts of the cookies to inspect with the rule inspection criteria. If you specify All, AWS WAF inspects both keys and values. Valid values: `ALL`, `KEY`, `VALUE` +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) MatchScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *string { + if v == nil { + return nil + } + return &v.MatchScope + }).(pulumi.StringPtrOutput) +} + +// What AWS WAF should do if the cookies of the request are larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies and at most 8 KB of cookie contents to AWS WAF. Valid values: `CONTINUE`, `MATCH`, `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput) OversizeHandling() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies) *string { + if v == nil { + return nil + } + return &v.OversizeHandling + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern struct { + // An empty configuration block that is used for inspecting all headers. + All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll `pulumi:"all"` + ExcludedCookies []string `pulumi:"excludedCookies"` + IncludedCookies []string `pulumi:"includedCookies"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs struct { + // An empty configuration block that is used for inspecting all headers. + All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput `pulumi:"all"` + ExcludedCookies pulumi.StringArrayInput `pulumi:"excludedCookies"` + IncludedCookies pulumi.StringArrayInput `pulumi:"includedCookies"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx).OutputState, + } +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{...} } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ + OutputState: o.OutputState, + } +} + +// An empty configuration block that is used for inspecting all headers. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { + return v.All + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) ExcludedCookies() pulumi.StringArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) []string { + return v.ExcludedCookies + }).(pulumi.StringArrayOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) IncludedCookies() pulumi.StringArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern) []string { + return v.IncludedCookies + }).(pulumi.StringArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern { + return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPattern)[vs[1].(int)] + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAll + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader struct { + // The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: + MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern `pulumi:"matchPattern"` + // The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. + MatchScope string `pulumi:"matchScope"` + // Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. + OversizeHandling string `pulumi:"oversizeHandling"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs struct { + // The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: + MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput `pulumi:"matchPattern"` + // The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. + MatchScope pulumi.StringInput `pulumi:"matchScope"` + // Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. + OversizeHandling pulumi.StringInput `pulumi:"oversizeHandling"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx).OutputState, + } +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray{ WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{...} } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ + OutputState: o.OutputState, + } +} + +// The filter to use to identify the subset of headers to inspect in a web request. The `matchPattern` block supports only one of the following arguments: +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern { + return v.MatchPattern + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) +} + +// The parts of the headers to inspect with the rule inspection criteria. If you specify `All`, AWS WAF inspects both keys and values. Valid values include the following: `ALL`, `Key`, `Value`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) MatchScope() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) string { + return v.MatchScope + }).(pulumi.StringOutput) +} + +// Oversize handling tells AWS WAF what to do with a web request when the request component that the rule inspects is over the limits. Valid values include the following: `CONTINUE`, `MATCH`, `NO_MATCH`. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) for more information. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) OversizeHandling() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader) string { + return v.OversizeHandling + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader] { + return pulumix.Output[[]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) Index(i pulumi.IntInput) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader { + return vs[0].([]WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader)[vs[1].(int)] + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern struct { + // An empty configuration block that is used for inspecting all headers. + All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll `pulumi:"all"` + // An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. + ExcludedHeaders []string `pulumi:"excludedHeaders"` + // An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. + IncludedHeaders []string `pulumi:"includedHeaders"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs struct { + // An empty configuration block that is used for inspecting all headers. + All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput `pulumi:"all"` + // An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. + ExcludedHeaders pulumi.StringArrayInput `pulumi:"excludedHeaders"` + // An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. + IncludedHeaders pulumi.StringArrayInput `pulumi:"includedHeaders"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern]{ + OutputState: o.OutputState, + } +} + +// An empty configuration block that is used for inspecting all headers. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { + return v.All + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) +} + +// An array of strings that will be used for inspecting headers that do not have a key that matches one of the provided values. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) ExcludedHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) []string { + return v.ExcludedHeaders + }).(pulumi.StringArrayOutput) +} + +// An array of strings that will be used for inspecting headers that have a key that matches one of the provided values. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput) IncludedHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern) []string { + return v.IncludedHeaders + }).(pulumi.StringArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody struct { + // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. + InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` + // The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. + MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern `pulumi:"matchPattern"` + // The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. + MatchScope string `pulumi:"matchScope"` + // What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. + OversizeHandling *string `pulumi:"oversizeHandling"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs struct { + // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. + InvalidFallbackBehavior pulumi.StringPtrInput `pulumi:"invalidFallbackBehavior"` + // The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. + MatchPattern WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput `pulumi:"matchPattern"` + // The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. + MatchScope pulumi.StringInput `pulumi:"matchScope"` + // What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. + OversizeHandling pulumi.StringPtrInput `pulumi:"oversizeHandling"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ + OutputState: o.OutputState, + } +} + +// What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) InvalidFallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { + return v.InvalidFallbackBehavior + }).(pulumi.StringPtrOutput) +} + +// The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { + return v.MatchPattern + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) +} + +// The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) MatchScope() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) string { + return v.MatchScope + }).(pulumi.StringOutput) +} + +// What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) OversizeHandling() pulumi.StringPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { + return v.OversizeHandling + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput) +} + +// What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) InvalidFallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { + if v == nil { + return nil + } + return v.InvalidFallbackBehavior + }).(pulumi.StringPtrOutput) +} + +// The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `includedPaths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) MatchPattern() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { + if v == nil { + return nil + } + return &v.MatchPattern + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) +} + +// The parts of the JSON to match against using the `matchPattern`. Valid values are `ALL`, `KEY` and `VALUE`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) MatchScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { + if v == nil { + return nil + } + return &v.MatchScope + }).(pulumi.StringPtrOutput) +} + +// What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput) OversizeHandling() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody) *string { + if v == nil { + return nil + } + return v.OversizeHandling + }).(pulumi.StringPtrOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern struct { + // An empty configuration block that is used for inspecting all headers. + All *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll `pulumi:"all"` + IncludedPaths []string `pulumi:"includedPaths"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs struct { + // An empty configuration block that is used for inspecting all headers. + All WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput `pulumi:"all"` + IncludedPaths pulumi.StringArrayInput `pulumi:"includedPaths"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ + OutputState: o.OutputState, + } +} + +// An empty configuration block that is used for inspecting all headers. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { + return v.All + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) IncludedPaths() pulumi.StringArrayOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) []string { + return v.IncludedPaths + }).(pulumi.StringArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput) +} + +// An empty configuration block that is used for inspecting all headers. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) All() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { + if v == nil { + return nil + } + return v.All + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput) IncludedPaths() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern) []string { + if v == nil { + return nil + } + return v.IncludedPaths + }).(pulumi.StringArrayOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString struct { +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs struct { +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ + OutputState: o.OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeader struct { // Name of the query header to inspect. This setting must be provided as lower case characters. Name string `pulumi:"name"` @@ -809,6 +3803,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchState Cookies *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -843,6 +3839,8 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchState Cookies WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -980,6 +3978,13 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -1092,6 +4097,16 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -2318,6 +5333,169 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -7617,6 +10795,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFi Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -7651,6 +10831,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFi Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -7788,6 +10970,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -7900,6 +11089,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { @@ -9126,6 +12325,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -12041,6 +15403,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementF Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -12075,6 +15439,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementF Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -12212,6 +15578,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -12324,6 +15697,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { @@ -13550,6 +16933,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -15198,6 +18744,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRefer Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -15232,6 +18780,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRefer Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -15369,6 +18919,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -15481,6 +19038,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -16707,6 +20274,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -18376,6 +22106,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatem Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -18410,6 +22142,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatem Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -18547,6 +22281,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -18659,6 +22400,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -19885,6 +23636,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -21512,6 +25426,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFi Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -21546,6 +25462,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFi Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -21683,6 +25601,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { @@ -21795,6 +25720,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { @@ -23021,6 +26956,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -24648,6 +28746,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFie Cookies *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -24682,6 +28782,8 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFie Cookies WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -24819,6 +28921,13 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -24931,6 +29040,16 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { @@ -26157,6 +30276,169 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -27803,6 +32085,8 @@ type WebAclRuleStatementRegexMatchStatementFieldToMatch struct { Cookies *WebAclRuleStatementRegexMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRegexMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -27837,6 +32121,8 @@ type WebAclRuleStatementRegexMatchStatementFieldToMatchArgs struct { Cookies WebAclRuleStatementRegexMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -27974,6 +32260,13 @@ func (o WebAclRuleStatementRegexMatchStatementFieldToMatchOutput) Headers() WebA }).(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRegexMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody { @@ -28086,6 +32379,16 @@ func (o WebAclRuleStatementRegexMatchStatementFieldToMatchPtrOutput) Headers() W }).(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRegexMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRegexMatchStatementFieldToMatch) *WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody { @@ -29302,6 +33605,169 @@ func (o WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllP }).(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -30936,6 +35402,8 @@ type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch struct { Cookies *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -30970,6 +35438,8 @@ type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs struct Cookies WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -31107,6 +35577,13 @@ func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutput) }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -31219,6 +35696,16 @@ func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutpu }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch) *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { @@ -32445,6 +36932,169 @@ func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMa }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -36872,6 +41522,8 @@ type WebAclRuleStatementSizeConstraintStatementFieldToMatch struct { Cookies *WebAclRuleStatementSizeConstraintStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementSizeConstraintStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -36906,6 +41558,8 @@ type WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs struct { Cookies WebAclRuleStatementSizeConstraintStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -37043,6 +41697,13 @@ func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchOutput) Headers() }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -37155,6 +41816,16 @@ func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) Headers }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementSizeConstraintStatementFieldToMatch) *WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody { @@ -38373,6 +43044,169 @@ func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -39992,6 +44826,8 @@ type WebAclRuleStatementSqliMatchStatementFieldToMatch struct { Cookies *WebAclRuleStatementSqliMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementSqliMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -40026,6 +44862,8 @@ type WebAclRuleStatementSqliMatchStatementFieldToMatchArgs struct { Cookies WebAclRuleStatementSqliMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -40163,6 +45001,13 @@ func (o WebAclRuleStatementSqliMatchStatementFieldToMatchOutput) Headers() WebAc }).(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementSqliMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody { @@ -40275,6 +45120,16 @@ func (o WebAclRuleStatementSqliMatchStatementFieldToMatchPtrOutput) Headers() We }).(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementSqliMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementSqliMatchStatementFieldToMatch) *WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody { @@ -41491,6 +46346,169 @@ func (o WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPt }).(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -43106,6 +48124,8 @@ type WebAclRuleStatementXssMatchStatementFieldToMatch struct { Cookies *WebAclRuleStatementXssMatchStatementFieldToMatchCookies `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers []WebAclRuleStatementXssMatchStatementFieldToMatchHeader `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody *WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -43140,6 +48160,8 @@ type WebAclRuleStatementXssMatchStatementFieldToMatchArgs struct { Cookies WebAclRuleStatementXssMatchStatementFieldToMatchCookiesPtrInput `pulumi:"cookies"` // Inspect the request headers. See `headers` below for details. Headers WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArrayInput `pulumi:"headers"` + // Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + Ja3Fingerprint WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput `pulumi:"ja3Fingerprint"` // Inspect the request body as JSON. See `jsonBody` for details. JsonBody WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrInput `pulumi:"jsonBody"` // Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. @@ -43277,6 +48299,13 @@ func (o WebAclRuleStatementXssMatchStatementFieldToMatchOutput) Headers() WebAcl }).(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementXssMatchStatementFieldToMatchOutput) Ja3Fingerprint() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v WebAclRuleStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return v.Ja3Fingerprint + }).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementXssMatchStatementFieldToMatchOutput) JsonBody() WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v WebAclRuleStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody { @@ -43389,6 +48418,16 @@ func (o WebAclRuleStatementXssMatchStatementFieldToMatchPtrOutput) Headers() Web }).(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArrayOutput) } +// Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. +func (o WebAclRuleStatementXssMatchStatementFieldToMatchPtrOutput) Ja3Fingerprint() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v == nil { + return nil + } + return v.Ja3Fingerprint + }).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + // Inspect the request body as JSON. See `jsonBody` for details. func (o WebAclRuleStatementXssMatchStatementFieldToMatchPtrOutput) JsonBody() WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementXssMatchStatementFieldToMatch) *WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody { @@ -44605,6 +49644,169 @@ func (o WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtr }).(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput) } +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior string `pulumi:"fallbackBehavior"` +} + +// WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput is an input type that accepts WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs and WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput values. +// You can construct a concrete instance of `WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput` via: +// +// WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput interface { + pulumi.Input + + ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput + ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput +} + +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs struct { + // Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + FallbackBehavior pulumi.StringInput `pulumi:"fallbackBehavior"` +} + +func (WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return i.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +func (i WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx).OutputState, + } +} + +func (i WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput).ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx) +} + +// WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput is an input type that accepts WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs, WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtr and WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput values. +// You can construct a concrete instance of `WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput` via: +// +// WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{...} +// +// or: +// +// nil +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput interface { + pulumi.Input + + ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput + ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput +} + +type webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs + +func WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtr(v *WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput { + return (*webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType)(v) +} + +func (*webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (i *webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return i.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (i *webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (i *webAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrType) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: i.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx).OutputState, + } +} + +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(context.Background()) +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + return &v + }).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) ToOutput(ctx context.Context) pulumix.Output[WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) FallbackBehavior() pulumi.StringOutput { + return o.ApplyT(func(v WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) string { + return v.FallbackBehavior + }).(pulumi.StringOutput) +} + +type WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput struct{ *pulumi.OutputState } + +func (WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint)(nil)).Elem() +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToWebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutputWithContext(ctx context.Context) WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput { + return o +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint] { + return pulumix.Output[*WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint]{ + OutputState: o.OutputState, + } +} + +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) Elem() WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput { + return o.ApplyT(func(v *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + if v != nil { + return *v + } + var ret WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint + return ret + }).(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput) +} + +// Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. +func (o WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput) FallbackBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint) *string { + if v == nil { + return nil + } + return &v.FallbackBehavior + }).(pulumi.StringPtrOutput) +} + type WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody struct { // What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. InvalidFallbackBehavior *string `pulumi:"invalidFallbackBehavior"` @@ -46430,6 +51632,41 @@ func (o GetRegexPatternSetRegularExpressionArrayOutput) Index(i pulumi.IntInput) } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentArgs{}) @@ -46457,6 +51694,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46536,6 +51775,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46587,6 +51828,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46624,6 +51867,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46661,6 +51906,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46698,6 +51945,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46735,6 +51984,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46772,6 +52023,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46809,6 +52062,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46881,6 +52136,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46918,6 +52175,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46955,6 +52214,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternInput)(nil)).Elem(), WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs{}) @@ -46978,6 +52239,41 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WebAclVisibilityConfigPtrInput)(nil)).Elem(), WebAclVisibilityConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRegexPatternSetRegularExpressionInput)(nil)).Elem(), GetRegexPatternSetRegularExpressionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRegexPatternSetRegularExpressionArrayInput)(nil)).Elem(), GetRegexPatternSetRegularExpressionArray{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchUriPathPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementTextTransformationArrayOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchAllQueryArgumentsPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternArrayOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArrayOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleHeaderPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchSingleQueryArgumentOutput{}) @@ -47005,6 +52301,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47084,6 +52382,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47135,6 +52435,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47172,6 +52474,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47209,6 +52513,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47246,6 +52552,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47283,6 +52591,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47320,6 +52630,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47357,6 +52669,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47429,6 +52743,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47466,6 +52782,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) @@ -47503,6 +52821,8 @@ func init() { pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllPtrOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintOutput{}) + pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyPtrOutput{}) pulumi.RegisterOutputType(WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java index 2f9c3484ea6..6deb3b13fee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancer.java @@ -201,6 +201,20 @@ public Output> desyncMitigationMode() { public Output dnsName() { return this.dnsName; } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Export(name="dnsRecordClientRoutingPolicy", refs={String.class}, tree="[0]") + private Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Output> dnsRecordClientRoutingPolicy() { + return Codegen.optional(this.dnsRecordClientRoutingPolicy); + } /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -378,14 +392,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancerArgs.java index 47178a553b5..5f23c364acd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/LoadBalancerArgs.java @@ -66,6 +66,21 @@ public Optional> desyncMitigationMode() { return Optional.ofNullable(this.desyncMitigationMode); } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Import(name="dnsRecordClientRoutingPolicy") + private @Nullable Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Optional> dnsRecordClientRoutingPolicy() { + return Optional.ofNullable(this.dnsRecordClientRoutingPolicy); + } + /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -365,6 +380,7 @@ private LoadBalancerArgs(LoadBalancerArgs $) { this.accessLogs = $.accessLogs; this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool; this.desyncMitigationMode = $.desyncMitigationMode; + this.dnsRecordClientRoutingPolicy = $.dnsRecordClientRoutingPolicy; this.dropInvalidHeaderFields = $.dropInvalidHeaderFields; this.enableCrossZoneLoadBalancing = $.enableCrossZoneLoadBalancing; this.enableDeletionProtection = $.enableDeletionProtection; @@ -467,6 +483,27 @@ public Builder desyncMitigationMode(String desyncMitigationMode) { return desyncMitigationMode(Output.of(desyncMitigationMode)); } + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(@Nullable Output dnsRecordClientRoutingPolicy) { + $.dnsRecordClientRoutingPolicy = dnsRecordClientRoutingPolicy; + return this; + } + + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(String dnsRecordClientRoutingPolicy) { + return dnsRecordClientRoutingPolicy(Output.of(dnsRecordClientRoutingPolicy)); + } + /** * @param dropInvalidHeaderFields Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java index e5a27fb64eb..eae4e27664c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroup.java @@ -9,6 +9,7 @@ import com.pulumi.aws.alb.outputs.TargetGroupHealthCheck; import com.pulumi.aws.alb.outputs.TargetGroupStickiness; import com.pulumi.aws.alb.outputs.TargetGroupTargetFailover; +import com.pulumi.aws.alb.outputs.TargetGroupTargetHealthState; import com.pulumi.core.Alias; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -164,6 +165,41 @@ * } * } * ``` + * ### Target group with unhealthy connection termination disabled + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.lb.TargetGroup; + * import com.pulumi.aws.lb.TargetGroupArgs; + * import com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() + * .port(25) + * .protocol("TCP") + * .vpcId(aws_vpc.main().id()) + * .targetHealthStates(TargetGroupTargetHealthStateArgs.builder() + * .enableUnhealthyConnectionTermination(false) + * .build()) + * .build()); + * + * } + * } + * ``` * * ## Import * @@ -209,14 +245,14 @@ public Output arnSuffix() { * */ @Export(name="connectionTermination", refs={Boolean.class}, tree="[0]") - private Output connectionTermination; + private Output connectionTermination; /** * @return Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. * */ - public Output> connectionTermination() { - return Codegen.optional(this.connectionTermination); + public Output connectionTermination() { + return this.connectionTermination; } /** * Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -321,14 +357,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Port on which targets receive traffic, unless overridden when registering a specific target. Required when `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`. @@ -474,6 +510,20 @@ public Output> tagsAll() { public Output> targetFailovers() { return this.targetFailovers; } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Export(name="targetHealthStates", refs={List.class,TargetGroupTargetHealthState.class}, tree="[0,1]") + private Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Output> targetHealthStates() { + return this.targetHealthStates; + } /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupArgs.java index c044e816f60..1137872a11c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/TargetGroupArgs.java @@ -6,6 +6,7 @@ import com.pulumi.aws.alb.inputs.TargetGroupHealthCheckArgs; import com.pulumi.aws.alb.inputs.TargetGroupStickinessArgs; import com.pulumi.aws.alb.inputs.TargetGroupTargetFailoverArgs; +import com.pulumi.aws.alb.inputs.TargetGroupTargetHealthStateArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -292,6 +293,21 @@ public Optional>> targetFailovers() { return Optional.ofNullable(this.targetFailovers); } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Import(name="targetHealthStates") + private @Nullable Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Optional>> targetHealthStates() { + return Optional.ofNullable(this.targetHealthStates); + } + /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -359,6 +375,7 @@ private TargetGroupArgs(TargetGroupArgs $) { this.stickiness = $.stickiness; this.tags = $.tags; this.targetFailovers = $.targetFailovers; + this.targetHealthStates = $.targetHealthStates; this.targetType = $.targetType; this.vpcId = $.vpcId; } @@ -769,6 +786,37 @@ public Builder targetFailovers(TargetGroupTargetFailoverArgs... targetFailovers) return targetFailovers(List.of(targetFailovers)); } + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(@Nullable Output> targetHealthStates) { + $.targetHealthStates = targetHealthStates; + return this; + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(List targetHealthStates) { + return targetHealthStates(Output.of(targetHealthStates)); + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(TargetGroupTargetHealthStateArgs... targetHealthStates) { + return targetHealthStates(List.of(targetHealthStates)); + } + /** * @param targetType Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/LoadBalancerState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/LoadBalancerState.java index 302ce3e642b..91f23ba8dd5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/LoadBalancerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/LoadBalancerState.java @@ -111,6 +111,21 @@ public Optional> dnsName() { return Optional.ofNullable(this.dnsName); } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Import(name="dnsRecordClientRoutingPolicy") + private @Nullable Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Optional> dnsRecordClientRoutingPolicy() { + return Optional.ofNullable(this.dnsRecordClientRoutingPolicy); + } + /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -458,6 +473,7 @@ private LoadBalancerState(LoadBalancerState $) { this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool; this.desyncMitigationMode = $.desyncMitigationMode; this.dnsName = $.dnsName; + this.dnsRecordClientRoutingPolicy = $.dnsRecordClientRoutingPolicy; this.dropInvalidHeaderFields = $.dropInvalidHeaderFields; this.enableCrossZoneLoadBalancing = $.enableCrossZoneLoadBalancing; this.enableDeletionProtection = $.enableDeletionProtection; @@ -626,6 +642,27 @@ public Builder dnsName(String dnsName) { return dnsName(Output.of(dnsName)); } + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(@Nullable Output dnsRecordClientRoutingPolicy) { + $.dnsRecordClientRoutingPolicy = dnsRecordClientRoutingPolicy; + return this; + } + + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(String dnsRecordClientRoutingPolicy) { + return dnsRecordClientRoutingPolicy(Output.of(dnsRecordClientRoutingPolicy)); + } + /** * @param dropInvalidHeaderFields Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupState.java index 4376f6c967c..505a1ce40a6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupState.java @@ -6,6 +6,7 @@ import com.pulumi.aws.alb.inputs.TargetGroupHealthCheckArgs; import com.pulumi.aws.alb.inputs.TargetGroupStickinessArgs; import com.pulumi.aws.alb.inputs.TargetGroupTargetFailoverArgs; +import com.pulumi.aws.alb.inputs.TargetGroupTargetHealthStateArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -345,6 +346,21 @@ public Optional>> targetFailovers() { return Optional.ofNullable(this.targetFailovers); } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Import(name="targetHealthStates") + private @Nullable Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Optional>> targetHealthStates() { + return Optional.ofNullable(this.targetHealthStates); + } + /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -415,6 +431,7 @@ private TargetGroupState(TargetGroupState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.targetFailovers = $.targetFailovers; + this.targetHealthStates = $.targetHealthStates; this.targetType = $.targetType; this.vpcId = $.vpcId; } @@ -896,6 +913,37 @@ public Builder targetFailovers(TargetGroupTargetFailoverArgs... targetFailovers) return targetFailovers(List.of(targetFailovers)); } + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(@Nullable Output> targetHealthStates) { + $.targetHealthStates = targetHealthStates; + return this; + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(List targetHealthStates) { + return targetHealthStates(Output.of(targetHealthStates)); + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(TargetGroupTargetHealthStateArgs... targetHealthStates) { + return targetHealthStates(List.of(targetHealthStates)); + } + /** * @param targetType Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupTargetHealthStateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupTargetHealthStateArgs.java new file mode 100644 index 00000000000..77b5a03a178 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/TargetGroupTargetHealthStateArgs.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.alb.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; + + +public final class TargetGroupTargetHealthStateArgs extends com.pulumi.resources.ResourceArgs { + + public static final TargetGroupTargetHealthStateArgs Empty = new TargetGroupTargetHealthStateArgs(); + + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + @Import(name="enableUnhealthyConnectionTermination", required=true) + private Output enableUnhealthyConnectionTermination; + + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + public Output enableUnhealthyConnectionTermination() { + return this.enableUnhealthyConnectionTermination; + } + + private TargetGroupTargetHealthStateArgs() {} + + private TargetGroupTargetHealthStateArgs(TargetGroupTargetHealthStateArgs $) { + this.enableUnhealthyConnectionTermination = $.enableUnhealthyConnectionTermination; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TargetGroupTargetHealthStateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TargetGroupTargetHealthStateArgs $; + + public Builder() { + $ = new TargetGroupTargetHealthStateArgs(); + } + + public Builder(TargetGroupTargetHealthStateArgs defaults) { + $ = new TargetGroupTargetHealthStateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enableUnhealthyConnectionTermination Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + * @return builder + * + */ + public Builder enableUnhealthyConnectionTermination(Output enableUnhealthyConnectionTermination) { + $.enableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + return this; + } + + /** + * @param enableUnhealthyConnectionTermination Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + * @return builder + * + */ + public Builder enableUnhealthyConnectionTermination(Boolean enableUnhealthyConnectionTermination) { + return enableUnhealthyConnectionTermination(Output.of(enableUnhealthyConnectionTermination)); + } + + public TargetGroupTargetHealthStateArgs build() { + $.enableUnhealthyConnectionTermination = Objects.requireNonNull($.enableUnhealthyConnectionTermination, "expected parameter 'enableUnhealthyConnectionTermination' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/outputs/TargetGroupTargetHealthState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/outputs/TargetGroupTargetHealthState.java new file mode 100644 index 00000000000..4730a9e4337 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/outputs/TargetGroupTargetHealthState.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.alb.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class TargetGroupTargetHealthState { + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + private Boolean enableUnhealthyConnectionTermination; + + private TargetGroupTargetHealthState() {} + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + public Boolean enableUnhealthyConnectionTermination() { + return this.enableUnhealthyConnectionTermination; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TargetGroupTargetHealthState defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enableUnhealthyConnectionTermination; + public Builder() {} + public Builder(TargetGroupTargetHealthState defaults) { + Objects.requireNonNull(defaults); + this.enableUnhealthyConnectionTermination = defaults.enableUnhealthyConnectionTermination; + } + + @CustomType.Setter + public Builder enableUnhealthyConnectionTermination(Boolean enableUnhealthyConnectionTermination) { + this.enableUnhealthyConnectionTermination = Objects.requireNonNull(enableUnhealthyConnectionTermination); + return this; + } + public TargetGroupTargetHealthState build() { + final var o = new TargetGroupTargetHealthState(); + o.enableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java index 630c2b5a3aa..3439940ccff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/Group.java @@ -949,14 +949,14 @@ public Output> launchConfiguration() { * */ @Export(name="launchTemplate", refs={GroupLaunchTemplate.class}, tree="[0]") - private Output launchTemplate; + private Output launchTemplate; /** * @return Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. * */ - public Output> launchTemplate() { - return Codegen.optional(this.launchTemplate); + public Output launchTemplate() { + return this.launchTemplate; } /** * List of elastic load balancer names to add to the autoscaling @@ -1057,14 +1057,14 @@ public Output minSize() { * */ @Export(name="mixedInstancesPolicy", refs={GroupMixedInstancesPolicy.class}, tree="[0]") - private Output mixedInstancesPolicy; + private Output mixedInstancesPolicy; /** * @return Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. * */ - public Output> mixedInstancesPolicy() { - return Codegen.optional(this.mixedInstancesPolicy); + public Output mixedInstancesPolicy() { + return this.mixedInstancesPolicy; } /** * Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with `name_prefix`. diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java index caf2751b71d..8dc51e619db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/Recorder.java @@ -20,6 +20,7 @@ * > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource. * * ## Example Usage + * ### Basic Usage * ```java * package generated_program; * @@ -67,6 +68,45 @@ * } * } * ``` + * ### Exclude Resources Types Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cfg.Recorder; + * import com.pulumi.aws.cfg.RecorderArgs; + * import com.pulumi.aws.cfg.inputs.RecorderRecordingGroupArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var foo = new Recorder("foo", RecorderArgs.builder() + * .roleArn(aws_iam_role.r().arn()) + * .recordingGroup(RecorderRecordingGroupArgs.builder() + * .allSupported(false) + * .exclusionByResourceTypes(RecorderRecordingGroupExclusionByResourceTypeArgs.builder() + * .resourceTypes("AWS::EC2::Instance") + * .build()) + * .recordingStrategies(RecorderRecordingGroupRecordingStrategyArgs.builder() + * .useOnly("EXCLUSION_BY_RESOURCE_TYPES") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` * * ## Import * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java index 004cd3a32a3..26ca70c1e23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/Rule.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.cfg.RuleArgs; import com.pulumi.aws.cfg.inputs.RuleState; +import com.pulumi.aws.cfg.outputs.RuleEvaluationMode; import com.pulumi.aws.cfg.outputs.RuleScope; import com.pulumi.aws.cfg.outputs.RuleSource; import com.pulumi.core.Output; @@ -247,6 +248,20 @@ public Output arn() { public Output> description() { return Codegen.optional(this.description); } + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + @Export(name="evaluationModes", refs={List.class,RuleEvaluationMode.class}, tree="[0,1]") + private Output> evaluationModes; + + /** + * @return The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + public Output> evaluationModes() { + return this.evaluationModes; + } /** * A string in JSON format that is passed to the AWS Config rule Lambda function. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/RuleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/RuleArgs.java index 83e64ee8f68..8ad63a246a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/RuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/RuleArgs.java @@ -3,11 +3,13 @@ package com.pulumi.aws.cfg; +import com.pulumi.aws.cfg.inputs.RuleEvaluationModeArgs; import com.pulumi.aws.cfg.inputs.RuleScopeArgs; import com.pulumi.aws.cfg.inputs.RuleSourceArgs; 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; @@ -33,6 +35,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + @Import(name="evaluationModes") + private @Nullable Output> evaluationModes; + + /** + * @return The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + public Optional>> evaluationModes() { + return Optional.ofNullable(this.evaluationModes); + } + /** * A string in JSON format that is passed to the AWS Config rule Lambda function. * @@ -127,6 +144,7 @@ private RuleArgs() {} private RuleArgs(RuleArgs $) { this.description = $.description; + this.evaluationModes = $.evaluationModes; this.inputParameters = $.inputParameters; this.maximumExecutionFrequency = $.maximumExecutionFrequency; this.name = $.name; @@ -174,6 +192,37 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(@Nullable Output> evaluationModes) { + $.evaluationModes = evaluationModes; + return this; + } + + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(List evaluationModes) { + return evaluationModes(Output.of(evaluationModes)); + } + + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(RuleEvaluationModeArgs... evaluationModes) { + return evaluationModes(List.of(evaluationModes)); + } + /** * @param inputParameters A string in JSON format that is passed to the AWS Config rule Lambda function. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RecorderRecordingGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RecorderRecordingGroupArgs.java index a0e64294319..45fb6e0566b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RecorderRecordingGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RecorderRecordingGroupArgs.java @@ -65,14 +65,14 @@ public Optional> includeGlobalResourceTypes() { } /** - * Recording Strategy - see below.. + * Recording Strategy. Detailed below. * */ @Import(name="recordingStrategies") private @Nullable Output> recordingStrategies; /** - * @return Recording Strategy - see below.. + * @return Recording Strategy. Detailed below. * */ public Optional>> recordingStrategies() { @@ -196,7 +196,7 @@ public Builder includeGlobalResourceTypes(Boolean includeGlobalResourceTypes) { } /** - * @param recordingStrategies Recording Strategy - see below.. + * @param recordingStrategies Recording Strategy. Detailed below. * * @return builder * @@ -207,7 +207,7 @@ public Builder recordingStrategies(@Nullable Output> resourceTypes; /** - * @return A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @return A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * */ public Optional>> resourceTypes() { @@ -56,7 +56,7 @@ public Builder(RecorderRecordingGroupExclusionByResourceTypeArgs defaults) { } /** - * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * * @return builder * @@ -67,7 +67,7 @@ public Builder resourceTypes(@Nullable Output> resourceTypes) { } /** - * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * * @return builder * @@ -77,7 +77,7 @@ public Builder resourceTypes(List resourceTypes) { } /** - * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @param resourceTypes A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleEvaluationModeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleEvaluationModeArgs.java new file mode 100644 index 00000000000..6feb6594ba9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleEvaluationModeArgs.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.cfg.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 RuleEvaluationModeArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleEvaluationModeArgs Empty = new RuleEvaluationModeArgs(); + + /** + * The mode of an evaluation. + * + */ + @Import(name="mode") + private @Nullable Output mode; + + /** + * @return The mode of an evaluation. + * + */ + public Optional> mode() { + return Optional.ofNullable(this.mode); + } + + private RuleEvaluationModeArgs() {} + + private RuleEvaluationModeArgs(RuleEvaluationModeArgs $) { + this.mode = $.mode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleEvaluationModeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleEvaluationModeArgs $; + + public Builder() { + $ = new RuleEvaluationModeArgs(); + } + + public Builder(RuleEvaluationModeArgs defaults) { + $ = new RuleEvaluationModeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param mode The mode of an evaluation. + * + * @return builder + * + */ + public Builder mode(@Nullable Output mode) { + $.mode = mode; + return this; + } + + /** + * @param mode The mode of an evaluation. + * + * @return builder + * + */ + public Builder mode(String mode) { + return mode(Output.of(mode)); + } + + public RuleEvaluationModeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleState.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleState.java index c67990b25b9..eeba4faa825 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/RuleState.java @@ -3,11 +3,13 @@ package com.pulumi.aws.cfg.inputs; +import com.pulumi.aws.cfg.inputs.RuleEvaluationModeArgs; import com.pulumi.aws.cfg.inputs.RuleScopeArgs; import com.pulumi.aws.cfg.inputs.RuleSourceArgs; 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; @@ -48,6 +50,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + @Import(name="evaluationModes") + private @Nullable Output> evaluationModes; + + /** + * @return The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + */ + public Optional>> evaluationModes() { + return Optional.ofNullable(this.evaluationModes); + } + /** * A string in JSON format that is passed to the AWS Config rule Lambda function. * @@ -181,6 +198,7 @@ private RuleState() {} private RuleState(RuleState $) { this.arn = $.arn; this.description = $.description; + this.evaluationModes = $.evaluationModes; this.inputParameters = $.inputParameters; this.maximumExecutionFrequency = $.maximumExecutionFrequency; this.name = $.name; @@ -251,6 +269,37 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(@Nullable Output> evaluationModes) { + $.evaluationModes = evaluationModes; + return this; + } + + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(List evaluationModes) { + return evaluationModes(Output.of(evaluationModes)); + } + + /** + * @param evaluationModes The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + * + * @return builder + * + */ + public Builder evaluationModes(RuleEvaluationModeArgs... evaluationModes) { + return evaluationModes(List.of(evaluationModes)); + } + /** * @param inputParameters A string in JSON format that is passed to the AWS Config rule Lambda function. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroup.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroup.java index dcaa8fbe041..2431f48b9e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroup.java @@ -31,7 +31,7 @@ public final class RecorderRecordingGroup { */ private @Nullable Boolean includeGlobalResourceTypes; /** - * @return Recording Strategy - see below.. + * @return Recording Strategy. Detailed below. * */ private @Nullable List recordingStrategies; @@ -64,7 +64,7 @@ public Optional includeGlobalResourceTypes() { return Optional.ofNullable(this.includeGlobalResourceTypes); } /** - * @return Recording Strategy - see below.. + * @return Recording Strategy. Detailed below. * */ public List recordingStrategies() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroupExclusionByResourceType.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroupExclusionByResourceType.java index ef4325e5d88..d6b08a5a883 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroupExclusionByResourceType.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RecorderRecordingGroupExclusionByResourceType.java @@ -12,14 +12,14 @@ @CustomType public final class RecorderRecordingGroupExclusionByResourceType { /** - * @return A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @return A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * */ private @Nullable List resourceTypes; private RecorderRecordingGroupExclusionByResourceType() {} /** - * @return A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + * @return A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. * */ public List resourceTypes() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleEvaluationMode.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleEvaluationMode.java new file mode 100644 index 00000000000..7d8e828d686 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/outputs/RuleEvaluationMode.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.cfg.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 RuleEvaluationMode { + /** + * @return The mode of an evaluation. + * + */ + private @Nullable String mode; + + private RuleEvaluationMode() {} + /** + * @return The mode of an evaluation. + * + */ + public Optional mode() { + return Optional.ofNullable(this.mode); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleEvaluationMode defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String mode; + public Builder() {} + public Builder(RuleEvaluationMode defaults) { + Objects.requireNonNull(defaults); + this.mode = defaults.mode; + } + + @CustomType.Setter + public Builder mode(@Nullable String mode) { + this.mode = mode; + return this; + } + public RuleEvaluationMode build() { + final var o = new RuleEvaluationMode(); + o.mode = mode; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java index 236e2783f6f..b8255928832 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/Project.java @@ -150,7 +150,7 @@ * * var exampleProject = new Project("exampleProject", ProjectArgs.builder() * .description("test_codebuild_project") - * .buildTimeout("5") + * .buildTimeout(5) * .serviceRole(exampleRole.arn()) * .artifacts(ProjectArtifactsArgs.builder() * .type("NO_ARTIFACTS") @@ -208,8 +208,8 @@ * * var project_with_cache = new Project("project-with-cache", ProjectArgs.builder() * .description("test_codebuild_project_cache") - * .buildTimeout("5") - * .queuedTimeout("5") + * .buildTimeout(5) + * .queuedTimeout(5) * .serviceRole(exampleRole.arn()) * .artifacts(ProjectArtifactsArgs.builder() * .type("NO_ARTIFACTS") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java index 9bf026dcc4b..6869cdff52c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpamPoolCidr.java @@ -79,7 +79,6 @@ * ``` * * Provision Public IPv6 Pool CIDRs: - * * ```java * package generated_program; * @@ -95,7 +94,6 @@ * import com.pulumi.aws.ec2.VpcIpamPoolArgs; * import com.pulumi.aws.ec2.VpcIpamPoolCidr; * import com.pulumi.aws.ec2.VpcIpamPoolCidrArgs; - * import com.pulumi.aws.ec2.inputs.VpcIpamPoolCidrCidrAuthorizationContextArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -122,17 +120,14 @@ * .ipamScopeId(example.publicDefaultScopeId()) * .locale("us-east-1") * .description("public ipv6") - * .advertisable(false) + * .publiclyAdvertisable(false) + * .publicIpSource("amazon") * .awsService("ec2") * .build()); * * var ipv6TestPublicVpcIpamPoolCidr = new VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", VpcIpamPoolCidrArgs.builder() * .ipamPoolId(ipv6TestPublicVpcIpamPool.id()) - * .cidr(var_.ipv6_cidr()) - * .cidrAuthorizationContext(VpcIpamPoolCidrCidrAuthorizationContextArgs.builder() - * .message(var_.message()) - * .signature(var_.signature()) - * .build()) + * .netmaskLength(52) * .build()); * * } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java index 9ba20e93b6c..73c054ac753 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociation.java @@ -69,14 +69,14 @@ @ResourceType(type="aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation") public class VpcIpv6CidrBlockAssociation extends com.pulumi.resources.CustomResource { /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ @Export(name="ipv6CidrBlock", refs={String.class}, tree="[0]") private Output ipv6CidrBlock; /** - * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ public Output ipv6CidrBlock() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociationArgs.java index f1433f286e7..2e03f80685f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/VpcIpv6CidrBlockAssociationArgs.java @@ -17,14 +17,14 @@ public final class VpcIpv6CidrBlockAssociationArgs extends com.pulumi.resources. public static final VpcIpv6CidrBlockAssociationArgs Empty = new VpcIpv6CidrBlockAssociationArgs(); /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ @Import(name="ipv6CidrBlock") private @Nullable Output ipv6CidrBlock; /** - * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ public Optional> ipv6CidrBlock() { @@ -104,7 +104,7 @@ public Builder(VpcIpv6CidrBlockAssociationArgs defaults) { } /** - * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * * @return builder * @@ -115,7 +115,7 @@ public Builder ipv6CidrBlock(@Nullable Output ipv6CidrBlock) { } /** - * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceRootBlockDeviceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceRootBlockDeviceArgs.java index 17854d2b8b5..e637ce0c4f1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceRootBlockDeviceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceRootBlockDeviceArgs.java @@ -154,7 +154,7 @@ public Optional> volumeSize() { } /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -163,7 +163,7 @@ public Optional> volumeSize() { private @Nullable Output volumeType; /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -395,7 +395,7 @@ public Builder volumeSize(Integer volumeSize) { } /** - * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -408,7 +408,7 @@ public Builder volumeType(@Nullable Output volumeType) { } /** - * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestRootBlockDeviceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestRootBlockDeviceArgs.java index 5590706f0e8..85f1e1af35d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestRootBlockDeviceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestRootBlockDeviceArgs.java @@ -146,7 +146,7 @@ public Optional> volumeSize() { } /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -155,7 +155,7 @@ public Optional> volumeSize() { private @Nullable Output volumeType; /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -375,7 +375,7 @@ public Builder volumeSize(Integer volumeSize) { } /** - * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -388,7 +388,7 @@ public Builder volumeType(@Nullable Output volumeType) { } /** - * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @param volumeType Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcIpv6CidrBlockAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcIpv6CidrBlockAssociationState.java index 4a5d3823012..35263a8da0a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcIpv6CidrBlockAssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/VpcIpv6CidrBlockAssociationState.java @@ -17,14 +17,14 @@ public final class VpcIpv6CidrBlockAssociationState extends com.pulumi.resources public static final VpcIpv6CidrBlockAssociationState Empty = new VpcIpv6CidrBlockAssociationState(); /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ @Import(name="ipv6CidrBlock") private @Nullable Output ipv6CidrBlock; /** - * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @return The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * */ public Optional> ipv6CidrBlock() { @@ -104,7 +104,7 @@ public Builder(VpcIpv6CidrBlockAssociationState defaults) { } /** - * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * * @return builder * @@ -115,7 +115,7 @@ public Builder ipv6CidrBlock(@Nullable Output ipv6CidrBlock) { } /** - * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + * @param ipv6CidrBlock The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/InstanceRootBlockDevice.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/InstanceRootBlockDevice.java index 909b4307f75..2ca36090bf9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/InstanceRootBlockDevice.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/InstanceRootBlockDevice.java @@ -60,7 +60,7 @@ public final class InstanceRootBlockDevice { */ private @Nullable Integer volumeSize; /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -132,7 +132,7 @@ public Optional volumeSize() { return Optional.ofNullable(this.volumeSize); } /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/SpotInstanceRequestRootBlockDevice.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/SpotInstanceRequestRootBlockDevice.java index db45e219cc3..95095aaecd6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/SpotInstanceRequestRootBlockDevice.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/SpotInstanceRequestRootBlockDevice.java @@ -56,7 +56,7 @@ public final class SpotInstanceRequestRootBlockDevice { */ private @Nullable Integer volumeSize; /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * @@ -124,7 +124,7 @@ public Optional volumeSize() { return Optional.ofNullable(this.volumeSize); } /** - * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * @return Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java index 2d3c481e420..747855bbd00 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Endpoint.java @@ -234,6 +234,20 @@ public Output> securityGroupIds() { public Output> selfServicePortal() { return Codegen.optional(this.selfServicePortal); } + /** + * The URL of the self-service portal. + * + */ + @Export(name="selfServicePortalUrl", refs={String.class}, tree="[0]") + private Output selfServicePortalUrl; + + /** + * @return The URL of the self-service portal. + * + */ + public Output selfServicePortalUrl() { + return this.selfServicePortalUrl; + } /** * The ARN of the ACM server certificate. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/EndpointState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/EndpointState.java index 05f3c50e395..5fb2ce00752 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/EndpointState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/inputs/EndpointState.java @@ -188,6 +188,21 @@ public Optional> selfServicePortal() { return Optional.ofNullable(this.selfServicePortal); } + /** + * The URL of the self-service portal. + * + */ + @Import(name="selfServicePortalUrl") + private @Nullable Output selfServicePortalUrl; + + /** + * @return The URL of the self-service portal. + * + */ + public Optional> selfServicePortalUrl() { + return Optional.ofNullable(this.selfServicePortalUrl); + } + /** * The ARN of the ACM server certificate. * @@ -330,6 +345,7 @@ private EndpointState(EndpointState $) { this.dnsServers = $.dnsServers; this.securityGroupIds = $.securityGroupIds; this.selfServicePortal = $.selfServicePortal; + this.selfServicePortalUrl = $.selfServicePortalUrl; this.serverCertificateArn = $.serverCertificateArn; this.sessionTimeoutHours = $.sessionTimeoutHours; this.splitTunnel = $.splitTunnel; @@ -619,6 +635,27 @@ public Builder selfServicePortal(String selfServicePortal) { return selfServicePortal(Output.of(selfServicePortal)); } + /** + * @param selfServicePortalUrl The URL of the self-service portal. + * + * @return builder + * + */ + public Builder selfServicePortalUrl(@Nullable Output selfServicePortalUrl) { + $.selfServicePortalUrl = selfServicePortalUrl; + return this; + } + + /** + * @param selfServicePortalUrl The URL of the self-service portal. + * + * @return builder + * + */ + public Builder selfServicePortalUrl(String selfServicePortalUrl) { + return selfServicePortalUrl(Output.of(selfServicePortalUrl)); + } + /** * @param serverCertificateArn The ARN of the ACM server certificate. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/outputs/GetEndpointResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/outputs/GetEndpointResult.java index bf1a459ec36..23d6cf743c5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/outputs/GetEndpointResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/outputs/GetEndpointResult.java @@ -81,6 +81,11 @@ public final class GetEndpointResult { * */ private String selfServicePortal; + /** + * @return The URL of the self-service portal. + * + */ + private String selfServicePortalUrl; /** * @return The ARN of the server certificate. * @@ -204,6 +209,13 @@ public List securityGroupIds() { public String selfServicePortal() { return this.selfServicePortal; } + /** + * @return The URL of the self-service portal. + * + */ + public String selfServicePortalUrl() { + return this.selfServicePortalUrl; + } /** * @return The ARN of the server certificate. * @@ -273,6 +285,7 @@ public static final class Builder { private String id; private List securityGroupIds; private String selfServicePortal; + private String selfServicePortalUrl; private String serverCertificateArn; private Integer sessionTimeoutHours; private Boolean splitTunnel; @@ -297,6 +310,7 @@ public Builder(GetEndpointResult defaults) { this.id = defaults.id; this.securityGroupIds = defaults.securityGroupIds; this.selfServicePortal = defaults.selfServicePortal; + this.selfServicePortalUrl = defaults.selfServicePortalUrl; this.serverCertificateArn = defaults.serverCertificateArn; this.sessionTimeoutHours = defaults.sessionTimeoutHours; this.splitTunnel = defaults.splitTunnel; @@ -398,6 +412,11 @@ public Builder selfServicePortal(String selfServicePortal) { return this; } @CustomType.Setter + public Builder selfServicePortalUrl(String selfServicePortalUrl) { + this.selfServicePortalUrl = Objects.requireNonNull(selfServicePortalUrl); + return this; + } + @CustomType.Setter public Builder serverCertificateArn(String serverCertificateArn) { this.serverCertificateArn = Objects.requireNonNull(serverCertificateArn); return this; @@ -448,6 +467,7 @@ public GetEndpointResult build() { o.id = id; o.securityGroupIds = securityGroupIds; o.selfServicePortal = selfServicePortal; + o.selfServicePortalUrl = selfServicePortalUrl; o.serverCertificateArn = serverCertificateArn; o.sessionTimeoutHours = sessionTimeoutHours; o.splitTunnel = splitTunnel; diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java index a2671c659f8..4d5ec689289 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/Cluster.java @@ -351,7 +351,7 @@ public Output engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ @Export(name="engineVersion", refs={String.class}, tree="[0]") @@ -365,7 +365,7 @@ public Output engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ public Output engineVersion() { @@ -590,14 +590,14 @@ public Output replicationGroupId() { return this.replicationGroupId; } /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ @Export(name="securityGroupIds", refs={List.class,String.class}, tree="[0,1]") private Output> securityGroupIds; /** - * @return One or more VPC security groups associated with the cache cluster + * @return One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ public Output> securityGroupIds() { @@ -660,14 +660,14 @@ public Output snapshotWindow() { return this.snapshotWindow; } /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ @Export(name="subnetGroupName", refs={String.class}, tree="[0]") private Output subnetGroupName; /** - * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ public Output subnetGroupName() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java index 358af9a21b8..e1315ea5d6c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ClusterArgs.java @@ -122,7 +122,7 @@ public Optional> engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ @Import(name="engineVersion") @@ -136,7 +136,7 @@ public Optional> engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ public Optional> engineVersion() { @@ -362,14 +362,14 @@ public Optional> replicationGroupId() { } /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ @Import(name="securityGroupIds") private @Nullable Output> securityGroupIds; /** - * @return One or more VPC security groups associated with the cache cluster + * @return One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ public Optional>> securityGroupIds() { @@ -437,14 +437,14 @@ public Optional> snapshotWindow() { } /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ @Import(name="subnetGroupName") private @Nullable Output subnetGroupName; /** - * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ public Optional> subnetGroupName() { @@ -671,7 +671,7 @@ public Builder engine(String engine) { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * * @return builder * @@ -689,7 +689,7 @@ public Builder engineVersion(@Nullable Output engineVersion) { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1021,7 +1021,7 @@ public Builder replicationGroupId(String replicationGroupId) { } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1032,7 +1032,7 @@ public Builder securityGroupIds(@Nullable Output> securityGroupIds) } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1042,7 +1042,7 @@ public Builder securityGroupIds(List securityGroupIds) { } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1136,7 +1136,7 @@ public Builder snapshotWindow(String snapshotWindow) { } /** - * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1147,7 +1147,7 @@ public Builder subnetGroupName(@Nullable Output subnetGroupName) { } /** - * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * * @return builder * 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 3237be878d4..36de19faf4d 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 @@ -513,6 +513,20 @@ public Output> finalSnapshotIdentifier() { public Output globalReplicationGroupId() { return this.globalReplicationGroupId; } + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + @Export(name="ipDiscovery", refs={String.class}, tree="[0]") + private Output ipDiscovery; + + /** + * @return The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + public Output ipDiscovery() { + return this.ipDiscovery; + } /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. * @@ -583,6 +597,20 @@ public Output> memberClusters() { public Output> multiAzEnabled() { return Codegen.optional(this.multiAzEnabled); } + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + @Export(name="networkType", refs={String.class}, tree="[0]") + private Output networkType; + + /** + * @return The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + public Output networkType() { + return this.networkType; + } /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. * @@ -748,28 +776,28 @@ public Output replicationGroupId() { return this.replicationGroupId; } /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Export(name="securityGroupIds", refs={List.class,String.class}, tree="[0,1]") private Output> securityGroupIds; /** - * @return One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @return IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Output> securityGroupIds() { return this.securityGroupIds; } /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Export(name="securityGroupNames", refs={List.class,String.class}, tree="[0,1]") private Output> securityGroupNames; /** - * @return List of cache security group names to associate with this replication group. + * @return Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Output> securityGroupNames() { 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 22097627e17..a0d63efce0f 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 @@ -199,6 +199,21 @@ public Optional> globalReplicationGroupId() { return Optional.ofNullable(this.globalReplicationGroupId); } + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + @Import(name="ipDiscovery") + private @Nullable Output ipDiscovery; + + /** + * @return The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + public Optional> ipDiscovery() { + return Optional.ofNullable(this.ipDiscovery); + } + /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. * @@ -259,6 +274,21 @@ public Optional> multiAzEnabled() { return Optional.ofNullable(this.multiAzEnabled); } + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + @Import(name="networkType") + private @Nullable Output networkType; + + /** + * @return The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + public Optional> networkType() { + return Optional.ofNullable(this.networkType); + } + /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. * @@ -405,14 +435,14 @@ public Optional> replicationGroupId() { } /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Import(name="securityGroupIds") private @Nullable Output> securityGroupIds; /** - * @return One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @return IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Optional>> securityGroupIds() { @@ -420,14 +450,14 @@ public Optional>> securityGroupIds() { } /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Import(name="securityGroupNames") private @Nullable Output> securityGroupNames; /** - * @return List of cache security group names to associate with this replication group. + * @return Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Optional>> securityGroupNames() { @@ -568,10 +598,12 @@ private ReplicationGroupArgs(ReplicationGroupArgs $) { this.engineVersion = $.engineVersion; this.finalSnapshotIdentifier = $.finalSnapshotIdentifier; this.globalReplicationGroupId = $.globalReplicationGroupId; + this.ipDiscovery = $.ipDiscovery; this.kmsKeyId = $.kmsKeyId; this.logDeliveryConfigurations = $.logDeliveryConfigurations; this.maintenanceWindow = $.maintenanceWindow; this.multiAzEnabled = $.multiAzEnabled; + this.networkType = $.networkType; this.nodeType = $.nodeType; this.notificationTopicArn = $.notificationTopicArn; this.numCacheClusters = $.numCacheClusters; @@ -856,6 +888,27 @@ public Builder globalReplicationGroupId(String globalReplicationGroupId) { return globalReplicationGroupId(Output.of(globalReplicationGroupId)); } + /** + * @param ipDiscovery The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + * @return builder + * + */ + public Builder ipDiscovery(@Nullable Output ipDiscovery) { + $.ipDiscovery = ipDiscovery; + return this; + } + + /** + * @param ipDiscovery The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + * @return builder + * + */ + public Builder ipDiscovery(String ipDiscovery) { + return ipDiscovery(Output.of(ipDiscovery)); + } + /** * @param kmsKeyId The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. * @@ -950,6 +1003,27 @@ public Builder multiAzEnabled(Boolean multiAzEnabled) { return multiAzEnabled(Output.of(multiAzEnabled)); } + /** + * @param networkType The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + * @return builder + * + */ + public Builder networkType(@Nullable Output networkType) { + $.networkType = networkType; + return this; + } + + /** + * @param networkType The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + * @return builder + * + */ + public Builder networkType(String networkType) { + return networkType(Output.of(networkType)); + } + /** * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. * @@ -1160,7 +1234,7 @@ public Builder replicationGroupId(String replicationGroupId) { } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1171,7 +1245,7 @@ public Builder securityGroupIds(@Nullable Output> securityGroupIds) } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1181,7 +1255,7 @@ public Builder securityGroupIds(List securityGroupIds) { } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1191,7 +1265,7 @@ public Builder securityGroupIds(String... securityGroupIds) { } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1202,7 +1276,7 @@ public Builder securityGroupNames(@Nullable Output> securityGroupNa } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1212,7 +1286,7 @@ public Builder securityGroupNames(List securityGroupNames) { } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java index 8fdbbc9add1..91d52ef5df7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ClusterState.java @@ -183,7 +183,7 @@ public Optional> engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ @Import(name="engineVersion") @@ -197,7 +197,7 @@ public Optional> engine() { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * */ public Optional> engineVersion() { @@ -438,14 +438,14 @@ public Optional> replicationGroupId() { } /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ @Import(name="securityGroupIds") private @Nullable Output> securityGroupIds; /** - * @return One or more VPC security groups associated with the cache cluster + * @return One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * */ public Optional>> securityGroupIds() { @@ -513,14 +513,14 @@ public Optional> snapshotWindow() { } /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ @Import(name="subnetGroupName") private @Nullable Output subnetGroupName; /** - * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @return Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * */ public Optional> subnetGroupName() { @@ -870,7 +870,7 @@ public Builder engine(String engine) { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * * @return builder * @@ -888,7 +888,7 @@ public Builder engineVersion(@Nullable Output engineVersion) { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1241,7 +1241,7 @@ public Builder replicationGroupId(String replicationGroupId) { } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1252,7 +1252,7 @@ public Builder securityGroupIds(@Nullable Output> securityGroupIds) } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1262,7 +1262,7 @@ public Builder securityGroupIds(List securityGroupIds) { } /** - * @param securityGroupIds One or more VPC security groups associated with the cache cluster + * @param securityGroupIds One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1356,7 +1356,7 @@ public Builder snapshotWindow(String snapshotWindow) { } /** - * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * * @return builder * @@ -1367,7 +1367,7 @@ public Builder subnetGroupName(@Nullable Output subnetGroupName) { } /** - * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * @param subnetGroupName Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` * * @return builder * 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 ec130a7a563..529a6280719 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 @@ -259,6 +259,21 @@ public Optional> globalReplicationGroupId() { return Optional.ofNullable(this.globalReplicationGroupId); } + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + @Import(name="ipDiscovery") + private @Nullable Output ipDiscovery; + + /** + * @return The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + */ + public Optional> ipDiscovery() { + return Optional.ofNullable(this.ipDiscovery); + } + /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. * @@ -334,6 +349,21 @@ public Optional> multiAzEnabled() { return Optional.ofNullable(this.multiAzEnabled); } + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + @Import(name="networkType") + private @Nullable Output networkType; + + /** + * @return The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + */ + public Optional> networkType() { + return Optional.ofNullable(this.networkType); + } + /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. * @@ -510,14 +540,14 @@ public Optional> replicationGroupId() { } /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Import(name="securityGroupIds") private @Nullable Output> securityGroupIds; /** - * @return One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @return IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Optional>> securityGroupIds() { @@ -525,14 +555,14 @@ public Optional>> securityGroupIds() { } /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ @Import(name="securityGroupNames") private @Nullable Output> securityGroupNames; /** - * @return List of cache security group names to associate with this replication group. + * @return Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * */ public Optional>> securityGroupNames() { @@ -700,11 +730,13 @@ private ReplicationGroupState(ReplicationGroupState $) { this.engineVersionActual = $.engineVersionActual; this.finalSnapshotIdentifier = $.finalSnapshotIdentifier; this.globalReplicationGroupId = $.globalReplicationGroupId; + this.ipDiscovery = $.ipDiscovery; this.kmsKeyId = $.kmsKeyId; this.logDeliveryConfigurations = $.logDeliveryConfigurations; this.maintenanceWindow = $.maintenanceWindow; this.memberClusters = $.memberClusters; this.multiAzEnabled = $.multiAzEnabled; + this.networkType = $.networkType; this.nodeType = $.nodeType; this.notificationTopicArn = $.notificationTopicArn; this.numCacheClusters = $.numCacheClusters; @@ -1076,6 +1108,27 @@ public Builder globalReplicationGroupId(String globalReplicationGroupId) { return globalReplicationGroupId(Output.of(globalReplicationGroupId)); } + /** + * @param ipDiscovery The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + * @return builder + * + */ + public Builder ipDiscovery(@Nullable Output ipDiscovery) { + $.ipDiscovery = ipDiscovery; + return this; + } + + /** + * @param ipDiscovery The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + * + * @return builder + * + */ + public Builder ipDiscovery(String ipDiscovery) { + return ipDiscovery(Output.of(ipDiscovery)); + } + /** * @param kmsKeyId The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. * @@ -1201,6 +1254,27 @@ public Builder multiAzEnabled(Boolean multiAzEnabled) { return multiAzEnabled(Output.of(multiAzEnabled)); } + /** + * @param networkType The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + * @return builder + * + */ + public Builder networkType(@Nullable Output networkType) { + $.networkType = networkType; + return this; + } + + /** + * @param networkType The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + * + * @return builder + * + */ + public Builder networkType(String networkType) { + return networkType(Output.of(networkType)); + } + /** * @param nodeType Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. * @@ -1453,7 +1527,7 @@ public Builder replicationGroupId(String replicationGroupId) { } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1464,7 +1538,7 @@ public Builder securityGroupIds(@Nullable Output> securityGroupIds) } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1474,7 +1548,7 @@ public Builder securityGroupIds(List securityGroupIds) { } /** - * @param securityGroupIds One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * @param securityGroupIds IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1484,7 +1558,7 @@ public Builder securityGroupIds(String... securityGroupIds) { } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1495,7 +1569,7 @@ public Builder securityGroupNames(@Nullable Output> securityGroupNa } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * @@ -1505,7 +1579,7 @@ public Builder securityGroupNames(List securityGroupNames) { } /** - * @param securityGroupNames List of cache security group names to associate with this replication group. + * @param securityGroupNames Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java new file mode 100644 index 00000000000..c13c205e2f5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpoint.java @@ -0,0 +1,162 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.elasticsearch; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.elasticsearch.VpcEndpointArgs; +import com.pulumi.aws.elasticsearch.inputs.VpcEndpointState; +import com.pulumi.aws.elasticsearch.outputs.VpcEndpointVpcOptions; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.elasticsearch.VpcEndpoint; + * import com.pulumi.aws.elasticsearch.VpcEndpointArgs; + * import com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var foo = new VpcEndpoint("foo", VpcEndpointArgs.builder() + * .domainArn(aws_elasticsearch_domain.domain_1().arn()) + * .vpcOptions(VpcEndpointVpcOptionsArgs.builder() + * .securityGroupIds( + * aws_security_group.test().id(), + * aws_security_group.test2().id()) + * .subnetIds( + * aws_subnet.test().id(), + * aws_subnet.test2().id()) + * .build()) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: + * + * ```sh + * $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id + * ``` + * + */ +@ResourceType(type="aws:elasticsearch/vpcEndpoint:VpcEndpoint") +public class VpcEndpoint extends com.pulumi.resources.CustomResource { + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + @Export(name="domainArn", refs={String.class}, tree="[0]") + private Output domainArn; + + /** + * @return Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + public Output domainArn() { + return this.domainArn; + } + /** + * The connection endpoint ID for connecting to the domain. + * + */ + @Export(name="endpoint", refs={String.class}, tree="[0]") + private Output endpoint; + + /** + * @return The connection endpoint ID for connecting to the domain. + * + */ + public Output endpoint() { + return this.endpoint; + } + /** + * Options to specify the subnets and security groups for the endpoint. + * + */ + @Export(name="vpcOptions", refs={VpcEndpointVpcOptions.class}, tree="[0]") + private Output vpcOptions; + + /** + * @return Options to specify the subnets and security groups for the endpoint. + * + */ + public Output vpcOptions() { + return this.vpcOptions; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VpcEndpoint(String name) { + this(name, VpcEndpointArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VpcEndpoint(String name, VpcEndpointArgs 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 VpcEndpoint(String name, VpcEndpointArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:elasticsearch/vpcEndpoint:VpcEndpoint", name, args == null ? VpcEndpointArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private VpcEndpoint(String name, Output id, @Nullable VpcEndpointState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:elasticsearch/vpcEndpoint:VpcEndpoint", 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 VpcEndpoint get(String name, Output id, @Nullable VpcEndpointState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VpcEndpoint(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpointArgs.java new file mode 100644 index 00000000000..7dc81eb72a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/VpcEndpointArgs.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.elasticsearch; + +import com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class VpcEndpointArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcEndpointArgs Empty = new VpcEndpointArgs(); + + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + @Import(name="domainArn", required=true) + private Output domainArn; + + /** + * @return Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + public Output domainArn() { + return this.domainArn; + } + + /** + * Options to specify the subnets and security groups for the endpoint. + * + */ + @Import(name="vpcOptions", required=true) + private Output vpcOptions; + + /** + * @return Options to specify the subnets and security groups for the endpoint. + * + */ + public Output vpcOptions() { + return this.vpcOptions; + } + + private VpcEndpointArgs() {} + + private VpcEndpointArgs(VpcEndpointArgs $) { + this.domainArn = $.domainArn; + this.vpcOptions = $.vpcOptions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcEndpointArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcEndpointArgs $; + + public Builder() { + $ = new VpcEndpointArgs(); + } + + public Builder(VpcEndpointArgs defaults) { + $ = new VpcEndpointArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param domainArn Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + * @return builder + * + */ + public Builder domainArn(Output domainArn) { + $.domainArn = domainArn; + return this; + } + + /** + * @param domainArn Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + * @return builder + * + */ + public Builder domainArn(String domainArn) { + return domainArn(Output.of(domainArn)); + } + + /** + * @param vpcOptions Options to specify the subnets and security groups for the endpoint. + * + * @return builder + * + */ + public Builder vpcOptions(Output vpcOptions) { + $.vpcOptions = vpcOptions; + return this; + } + + /** + * @param vpcOptions Options to specify the subnets and security groups for the endpoint. + * + * @return builder + * + */ + public Builder vpcOptions(VpcEndpointVpcOptionsArgs vpcOptions) { + return vpcOptions(Output.of(vpcOptions)); + } + + public VpcEndpointArgs build() { + $.domainArn = Objects.requireNonNull($.domainArn, "expected parameter 'domainArn' to be non-null"); + $.vpcOptions = Objects.requireNonNull($.vpcOptions, "expected parameter 'vpcOptions' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointState.java new file mode 100644 index 00000000000..5cd0bc47059 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointState.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.elasticsearch.inputs; + +import com.pulumi.aws.elasticsearch.inputs.VpcEndpointVpcOptionsArgs; +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 VpcEndpointState extends com.pulumi.resources.ResourceArgs { + + public static final VpcEndpointState Empty = new VpcEndpointState(); + + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + @Import(name="domainArn") + private @Nullable Output domainArn; + + /** + * @return Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + */ + public Optional> domainArn() { + return Optional.ofNullable(this.domainArn); + } + + /** + * The connection endpoint ID for connecting to the domain. + * + */ + @Import(name="endpoint") + private @Nullable Output endpoint; + + /** + * @return The connection endpoint ID for connecting to the domain. + * + */ + public Optional> endpoint() { + return Optional.ofNullable(this.endpoint); + } + + /** + * Options to specify the subnets and security groups for the endpoint. + * + */ + @Import(name="vpcOptions") + private @Nullable Output vpcOptions; + + /** + * @return Options to specify the subnets and security groups for the endpoint. + * + */ + public Optional> vpcOptions() { + return Optional.ofNullable(this.vpcOptions); + } + + private VpcEndpointState() {} + + private VpcEndpointState(VpcEndpointState $) { + this.domainArn = $.domainArn; + this.endpoint = $.endpoint; + this.vpcOptions = $.vpcOptions; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcEndpointState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcEndpointState $; + + public Builder() { + $ = new VpcEndpointState(); + } + + public Builder(VpcEndpointState defaults) { + $ = new VpcEndpointState(Objects.requireNonNull(defaults)); + } + + /** + * @param domainArn Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + * @return builder + * + */ + public Builder domainArn(@Nullable Output domainArn) { + $.domainArn = domainArn; + return this; + } + + /** + * @param domainArn Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + * + * @return builder + * + */ + public Builder domainArn(String domainArn) { + return domainArn(Output.of(domainArn)); + } + + /** + * @param endpoint The connection endpoint ID for connecting to the domain. + * + * @return builder + * + */ + public Builder endpoint(@Nullable Output endpoint) { + $.endpoint = endpoint; + return this; + } + + /** + * @param endpoint The connection endpoint ID for connecting to the domain. + * + * @return builder + * + */ + public Builder endpoint(String endpoint) { + return endpoint(Output.of(endpoint)); + } + + /** + * @param vpcOptions Options to specify the subnets and security groups for the endpoint. + * + * @return builder + * + */ + public Builder vpcOptions(@Nullable Output vpcOptions) { + $.vpcOptions = vpcOptions; + return this; + } + + /** + * @param vpcOptions Options to specify the subnets and security groups for the endpoint. + * + * @return builder + * + */ + public Builder vpcOptions(VpcEndpointVpcOptionsArgs vpcOptions) { + return vpcOptions(Output.of(vpcOptions)); + } + + public VpcEndpointState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointVpcOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointVpcOptionsArgs.java new file mode 100644 index 00000000000..5096299218f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/inputs/VpcEndpointVpcOptionsArgs.java @@ -0,0 +1,180 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.elasticsearch.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 VpcEndpointVpcOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VpcEndpointVpcOptionsArgs Empty = new VpcEndpointVpcOptionsArgs(); + + @Import(name="availabilityZones") + private @Nullable Output> availabilityZones; + + public Optional>> availabilityZones() { + return Optional.ofNullable(this.availabilityZones); + } + + /** + * The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + */ + @Import(name="securityGroupIds") + private @Nullable Output> securityGroupIds; + + /** + * @return The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + */ + public Optional>> securityGroupIds() { + return Optional.ofNullable(this.securityGroupIds); + } + + /** + * A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + */ + @Import(name="subnetIds", required=true) + private Output> subnetIds; + + /** + * @return A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + */ + public Output> subnetIds() { + return this.subnetIds; + } + + @Import(name="vpcId") + private @Nullable Output vpcId; + + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + private VpcEndpointVpcOptionsArgs() {} + + private VpcEndpointVpcOptionsArgs(VpcEndpointVpcOptionsArgs $) { + this.availabilityZones = $.availabilityZones; + this.securityGroupIds = $.securityGroupIds; + this.subnetIds = $.subnetIds; + this.vpcId = $.vpcId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VpcEndpointVpcOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VpcEndpointVpcOptionsArgs $; + + public Builder() { + $ = new VpcEndpointVpcOptionsArgs(); + } + + public Builder(VpcEndpointVpcOptionsArgs defaults) { + $ = new VpcEndpointVpcOptionsArgs(Objects.requireNonNull(defaults)); + } + + public Builder availabilityZones(@Nullable Output> availabilityZones) { + $.availabilityZones = availabilityZones; + return this; + } + + public Builder availabilityZones(List availabilityZones) { + return availabilityZones(Output.of(availabilityZones)); + } + + public Builder availabilityZones(String... availabilityZones) { + return availabilityZones(List.of(availabilityZones)); + } + + /** + * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + * @return builder + * + */ + public Builder securityGroupIds(@Nullable Output> securityGroupIds) { + $.securityGroupIds = securityGroupIds; + return this; + } + + /** + * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + * @return builder + * + */ + public Builder securityGroupIds(List securityGroupIds) { + return securityGroupIds(Output.of(securityGroupIds)); + } + + /** + * @param securityGroupIds The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + * @return builder + * + */ + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + + /** + * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + * @return builder + * + */ + public Builder subnetIds(Output> subnetIds) { + $.subnetIds = subnetIds; + return this; + } + + /** + * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + * @return builder + * + */ + public Builder subnetIds(List subnetIds) { + return subnetIds(Output.of(subnetIds)); + } + + /** + * @param subnetIds A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + * @return builder + * + */ + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + public VpcEndpointVpcOptionsArgs build() { + $.subnetIds = Objects.requireNonNull($.subnetIds, "expected parameter 'subnetIds' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/outputs/VpcEndpointVpcOptions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/outputs/VpcEndpointVpcOptions.java new file mode 100644 index 00000000000..8043fd69bfe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/outputs/VpcEndpointVpcOptions.java @@ -0,0 +1,110 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.elasticsearch.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 VpcEndpointVpcOptions { + private @Nullable List availabilityZones; + /** + * @return The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + */ + private @Nullable List securityGroupIds; + /** + * @return A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + */ + private List subnetIds; + private @Nullable String vpcId; + + private VpcEndpointVpcOptions() {} + public List availabilityZones() { + return this.availabilityZones == null ? List.of() : this.availabilityZones; + } + /** + * @return The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + * + */ + public List securityGroupIds() { + return this.securityGroupIds == null ? List.of() : this.securityGroupIds; + } + /** + * @return A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + * + */ + public List subnetIds() { + return this.subnetIds; + } + public Optional vpcId() { + return Optional.ofNullable(this.vpcId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VpcEndpointVpcOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List availabilityZones; + private @Nullable List securityGroupIds; + private List subnetIds; + private @Nullable String vpcId; + public Builder() {} + public Builder(VpcEndpointVpcOptions defaults) { + Objects.requireNonNull(defaults); + this.availabilityZones = defaults.availabilityZones; + this.securityGroupIds = defaults.securityGroupIds; + this.subnetIds = defaults.subnetIds; + this.vpcId = defaults.vpcId; + } + + @CustomType.Setter + public Builder availabilityZones(@Nullable List availabilityZones) { + this.availabilityZones = availabilityZones; + return this; + } + public Builder availabilityZones(String... availabilityZones) { + return availabilityZones(List.of(availabilityZones)); + } + @CustomType.Setter + public Builder securityGroupIds(@Nullable List securityGroupIds) { + this.securityGroupIds = securityGroupIds; + return this; + } + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + @CustomType.Setter + public Builder subnetIds(List subnetIds) { + this.subnetIds = Objects.requireNonNull(subnetIds); + return this; + } + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + @CustomType.Setter + public Builder vpcId(@Nullable String vpcId) { + this.vpcId = vpcId; + return this; + } + public VpcEndpointVpcOptions build() { + final var o = new VpcEndpointVpcOptions(); + o.availabilityZones = availabilityZones; + o.securityGroupIds = securityGroupIds; + o.subnetIds = subnetIds; + o.vpcId = vpcId; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java index 0d75ddd7356..5644660db6b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/LoadBalancer.java @@ -322,15 +322,15 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified * prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * A list of security group IDs to assign to the ELB. diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java index 0113feaf057..34c501eff82 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/SecurityConfiguration.java @@ -11,7 +11,6 @@ import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -123,15 +122,15 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified * prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java b/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java index 08a94eaed0b..bac43f2954b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/Crawler.java @@ -383,28 +383,28 @@ public Output>> dynamodbTargets() { return Codegen.optional(this.dynamodbTargets); } /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. * */ @Export(name="hudiTargets", refs={List.class,CrawlerHudiTarget.class}, tree="[0,1]") private Output> hudiTargets; /** - * @return List nested Hudi target arguments. See Iceberg Target below. + * @return List of nested Hudi target arguments. See Iceberg Target below. * */ public Output>> hudiTargets() { return Codegen.optional(this.hudiTargets); } /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. * */ @Export(name="icebergTargets", refs={List.class,CrawlerIcebergTarget.class}, tree="[0,1]") private Output> icebergTargets; /** - * @return List nested Iceberg target arguments. See Iceberg Target below. + * @return List of nested Iceberg target arguments. See Iceberg Target below. * */ public Output>> icebergTargets() { @@ -453,14 +453,14 @@ public Output> lineageConfiguration() { return Codegen.optional(this.lineageConfiguration); } /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. * */ @Export(name="mongodbTargets", refs={List.class,CrawlerMongodbTarget.class}, tree="[0,1]") private Output> mongodbTargets; /** - * @return List nested MongoDB target arguments. See MongoDB Target below. + * @return List of nested MongoDB target arguments. See MongoDB Target below. * */ public Output>> mongodbTargets() { @@ -509,14 +509,14 @@ public Output role() { return this.role; } /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. * */ @Export(name="s3Targets", refs={List.class,CrawlerS3Target.class}, tree="[0,1]") private Output> s3Targets; /** - * @return List nested Amazon S3 target arguments. See S3 Target below. + * @return List of nested Amazon S3 target arguments. See S3 Target below. * */ public Output>> s3Targets() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CrawlerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CrawlerArgs.java index 3c415016893..36d31fda94d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CrawlerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CrawlerArgs.java @@ -127,14 +127,14 @@ public Optional>> dynamodbTargets() { } /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. * */ @Import(name="hudiTargets") private @Nullable Output> hudiTargets; /** - * @return List nested Hudi target arguments. See Iceberg Target below. + * @return List of nested Hudi target arguments. See Iceberg Target below. * */ public Optional>> hudiTargets() { @@ -142,14 +142,14 @@ public Optional>> hudiTargets() { } /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. * */ @Import(name="icebergTargets") private @Nullable Output> icebergTargets; /** - * @return List nested Iceberg target arguments. See Iceberg Target below. + * @return List of nested Iceberg target arguments. See Iceberg Target below. * */ public Optional>> icebergTargets() { @@ -202,14 +202,14 @@ public Optional> lineageConfiguration() } /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. * */ @Import(name="mongodbTargets") private @Nullable Output> mongodbTargets; /** - * @return List nested MongoDB target arguments. See MongoDB Target below. + * @return List of nested MongoDB target arguments. See MongoDB Target below. * */ public Optional>> mongodbTargets() { @@ -262,14 +262,14 @@ public Output role() { } /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. * */ @Import(name="s3Targets") private @Nullable Output> s3Targets; /** - * @return List nested Amazon S3 target arguments. See S3 Target below. + * @return List of nested Amazon S3 target arguments. See S3 Target below. * */ public Optional>> s3Targets() { @@ -566,7 +566,7 @@ public Builder dynamodbTargets(CrawlerDynamodbTargetArgs... dynamodbTargets) { } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -577,7 +577,7 @@ public Builder hudiTargets(@Nullable Output> hudiTar } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -587,7 +587,7 @@ public Builder hudiTargets(List hudiTargets) { } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -597,7 +597,7 @@ public Builder hudiTargets(CrawlerHudiTargetArgs... hudiTargets) { } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -608,7 +608,7 @@ public Builder icebergTargets(@Nullable Output> i } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -618,7 +618,7 @@ public Builder icebergTargets(List icebergTargets) { } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -701,7 +701,7 @@ public Builder lineageConfiguration(CrawlerLineageConfigurationArgs lineageConfi } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -712,7 +712,7 @@ public Builder mongodbTargets(@Nullable Output> m } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -722,7 +722,7 @@ public Builder mongodbTargets(List mongodbTargets) { } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -795,7 +795,7 @@ public Builder role(String role) { } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * @@ -806,7 +806,7 @@ public Builder s3Targets(@Nullable Output> s3Targets) } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * @@ -816,7 +816,7 @@ public Builder s3Targets(List s3Targets) { } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CrawlerState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CrawlerState.java index 156fc80b092..fed8267c87e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CrawlerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CrawlerState.java @@ -142,14 +142,14 @@ public Optional>> dynamodbTargets() { } /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. * */ @Import(name="hudiTargets") private @Nullable Output> hudiTargets; /** - * @return List nested Hudi target arguments. See Iceberg Target below. + * @return List of nested Hudi target arguments. See Iceberg Target below. * */ public Optional>> hudiTargets() { @@ -157,14 +157,14 @@ public Optional>> hudiTargets() { } /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. * */ @Import(name="icebergTargets") private @Nullable Output> icebergTargets; /** - * @return List nested Iceberg target arguments. See Iceberg Target below. + * @return List of nested Iceberg target arguments. See Iceberg Target below. * */ public Optional>> icebergTargets() { @@ -217,14 +217,14 @@ public Optional> lineageConfiguration() } /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. * */ @Import(name="mongodbTargets") private @Nullable Output> mongodbTargets; /** - * @return List nested MongoDB target arguments. See MongoDB Target below. + * @return List of nested MongoDB target arguments. See MongoDB Target below. * */ public Optional>> mongodbTargets() { @@ -277,14 +277,14 @@ public Optional> role() { } /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. * */ @Import(name="s3Targets") private @Nullable Output> s3Targets; /** - * @return List nested Amazon S3 target arguments. See S3 Target below. + * @return List of nested Amazon S3 target arguments. See S3 Target below. * */ public Optional>> s3Targets() { @@ -627,7 +627,7 @@ public Builder dynamodbTargets(CrawlerDynamodbTargetArgs... dynamodbTargets) { } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -638,7 +638,7 @@ public Builder hudiTargets(@Nullable Output> hudiTar } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -648,7 +648,7 @@ public Builder hudiTargets(List hudiTargets) { } /** - * @param hudiTargets List nested Hudi target arguments. See Iceberg Target below. + * @param hudiTargets List of nested Hudi target arguments. See Iceberg Target below. * * @return builder * @@ -658,7 +658,7 @@ public Builder hudiTargets(CrawlerHudiTargetArgs... hudiTargets) { } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -669,7 +669,7 @@ public Builder icebergTargets(@Nullable Output> i } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -679,7 +679,7 @@ public Builder icebergTargets(List icebergTargets) { } /** - * @param icebergTargets List nested Iceberg target arguments. See Iceberg Target below. + * @param icebergTargets List of nested Iceberg target arguments. See Iceberg Target below. * * @return builder * @@ -762,7 +762,7 @@ public Builder lineageConfiguration(CrawlerLineageConfigurationArgs lineageConfi } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -773,7 +773,7 @@ public Builder mongodbTargets(@Nullable Output> m } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -783,7 +783,7 @@ public Builder mongodbTargets(List mongodbTargets) { } /** - * @param mongodbTargets List nested MongoDB target arguments. See MongoDB Target below. + * @param mongodbTargets List of nested MongoDB target arguments. See MongoDB Target below. * * @return builder * @@ -856,7 +856,7 @@ public Builder role(String role) { } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * @@ -867,7 +867,7 @@ public Builder s3Targets(@Nullable Output> s3Targets) } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * @@ -877,7 +877,7 @@ public Builder s3Targets(List s3Targets) { } /** - * @param s3Targets List nested Amazon S3 target arguments. See S3 Target below. + * @param s3Targets List of nested Amazon S3 target arguments. See S3 Target below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java index 1d519162f46..aaaf81470bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicy.java @@ -11,7 +11,6 @@ import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -110,15 +109,15 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified * prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * The policy document. This is a JSON formatted string. diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java index 69a3e121538..007722c5243 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicy.java @@ -11,7 +11,6 @@ import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -109,15 +108,15 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified * prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * The inline policy document. This is a JSON formatted string. For more information about building IAM policy documents with the provider, see the AWS IAM Policy Document Guide diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java index 427d94cad61..b5d70b7639f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicy.java @@ -11,7 +11,6 @@ import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -99,14 +98,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * The policy document. This is a JSON formatted string. diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java index c85be2d0ca4..f7f4f98500e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/Image.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.imagebuilder.ImageArgs; import com.pulumi.aws.imagebuilder.inputs.ImageState; +import com.pulumi.aws.imagebuilder.outputs.ImageImageScanningConfiguration; import com.pulumi.aws.imagebuilder.outputs.ImageImageTestsConfiguration; import com.pulumi.aws.imagebuilder.outputs.ImageOutputResource; import com.pulumi.core.Output; @@ -149,6 +150,20 @@ public Output> enhancedImageMetadataEnabled() { public Output> imageRecipeArn() { return Codegen.optional(this.imageRecipeArn); } + /** + * Configuration block with image scanning configuration. Detailed below. + * + */ + @Export(name="imageScanningConfiguration", refs={ImageImageScanningConfiguration.class}, tree="[0]") + private Output imageScanningConfiguration; + + /** + * @return Configuration block with image scanning configuration. Detailed below. + * + */ + public Output imageScanningConfiguration() { + return this.imageScanningConfiguration; + } /** * Configuration block with image tests configuration. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageArgs.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageArgs.java index b917e81ea1c..50fcea4e110 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImageArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.imagebuilder; +import com.pulumi.aws.imagebuilder.inputs.ImageImageScanningConfigurationArgs; import com.pulumi.aws.imagebuilder.inputs.ImageImageTestsConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -78,6 +79,21 @@ public Optional> imageRecipeArn() { return Optional.ofNullable(this.imageRecipeArn); } + /** + * Configuration block with image scanning configuration. Detailed below. + * + */ + @Import(name="imageScanningConfiguration") + private @Nullable Output imageScanningConfiguration; + + /** + * @return Configuration block with image scanning configuration. Detailed below. + * + */ + public Optional> imageScanningConfiguration() { + return Optional.ofNullable(this.imageScanningConfiguration); + } + /** * Configuration block with image tests configuration. Detailed below. * @@ -134,6 +150,7 @@ private ImageArgs(ImageArgs $) { this.distributionConfigurationArn = $.distributionConfigurationArn; this.enhancedImageMetadataEnabled = $.enhancedImageMetadataEnabled; this.imageRecipeArn = $.imageRecipeArn; + this.imageScanningConfiguration = $.imageScanningConfiguration; this.imageTestsConfiguration = $.imageTestsConfiguration; this.infrastructureConfigurationArn = $.infrastructureConfigurationArn; this.tags = $.tags; @@ -241,6 +258,27 @@ public Builder imageRecipeArn(String imageRecipeArn) { return imageRecipeArn(Output.of(imageRecipeArn)); } + /** + * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below. + * + * @return builder + * + */ + public Builder imageScanningConfiguration(@Nullable Output imageScanningConfiguration) { + $.imageScanningConfiguration = imageScanningConfiguration; + return this; + } + + /** + * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below. + * + * @return builder + * + */ + public Builder imageScanningConfiguration(ImageImageScanningConfigurationArgs imageScanningConfiguration) { + return imageScanningConfiguration(Output.of(imageScanningConfiguration)); + } + /** * @param imageTestsConfiguration Configuration block with image tests configuration. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationArgs.java new file mode 100644 index 00000000000..acbdb4325bd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationArgs.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.imagebuilder.inputs; + +import com.pulumi.aws.imagebuilder.inputs.ImageImageScanningConfigurationEcrConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ImageImageScanningConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ImageImageScanningConfigurationArgs Empty = new ImageImageScanningConfigurationArgs(); + + /** + * Configuration block with ECR configuration. Detailed below. + * + */ + @Import(name="ecrConfiguration") + private @Nullable Output ecrConfiguration; + + /** + * @return Configuration block with ECR configuration. Detailed below. + * + */ + public Optional> ecrConfiguration() { + return Optional.ofNullable(this.ecrConfiguration); + } + + /** + * Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + */ + @Import(name="imageScanningEnabled") + private @Nullable Output imageScanningEnabled; + + /** + * @return Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + */ + public Optional> imageScanningEnabled() { + return Optional.ofNullable(this.imageScanningEnabled); + } + + private ImageImageScanningConfigurationArgs() {} + + private ImageImageScanningConfigurationArgs(ImageImageScanningConfigurationArgs $) { + this.ecrConfiguration = $.ecrConfiguration; + this.imageScanningEnabled = $.imageScanningEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ImageImageScanningConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ImageImageScanningConfigurationArgs $; + + public Builder() { + $ = new ImageImageScanningConfigurationArgs(); + } + + public Builder(ImageImageScanningConfigurationArgs defaults) { + $ = new ImageImageScanningConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ecrConfiguration Configuration block with ECR configuration. Detailed below. + * + * @return builder + * + */ + public Builder ecrConfiguration(@Nullable Output ecrConfiguration) { + $.ecrConfiguration = ecrConfiguration; + return this; + } + + /** + * @param ecrConfiguration Configuration block with ECR configuration. Detailed below. + * + * @return builder + * + */ + public Builder ecrConfiguration(ImageImageScanningConfigurationEcrConfigurationArgs ecrConfiguration) { + return ecrConfiguration(Output.of(ecrConfiguration)); + } + + /** + * @param imageScanningEnabled Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + * @return builder + * + */ + public Builder imageScanningEnabled(@Nullable Output imageScanningEnabled) { + $.imageScanningEnabled = imageScanningEnabled; + return this; + } + + /** + * @param imageScanningEnabled Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + * @return builder + * + */ + public Builder imageScanningEnabled(Boolean imageScanningEnabled) { + return imageScanningEnabled(Output.of(imageScanningEnabled)); + } + + public ImageImageScanningConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationEcrConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationEcrConfigurationArgs.java new file mode 100644 index 00000000000..dd30dd07b8e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageImageScanningConfigurationEcrConfigurationArgs.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.imagebuilder.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 ImageImageScanningConfigurationEcrConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ImageImageScanningConfigurationEcrConfigurationArgs Empty = new ImageImageScanningConfigurationEcrConfigurationArgs(); + + /** + * Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + @Import(name="containerTags") + private @Nullable Output> containerTags; + + /** + * @return Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + public Optional>> containerTags() { + return Optional.ofNullable(this.containerTags); + } + + /** + * The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + @Import(name="repositoryName") + private @Nullable Output repositoryName; + + /** + * @return The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + public Optional> repositoryName() { + return Optional.ofNullable(this.repositoryName); + } + + private ImageImageScanningConfigurationEcrConfigurationArgs() {} + + private ImageImageScanningConfigurationEcrConfigurationArgs(ImageImageScanningConfigurationEcrConfigurationArgs $) { + this.containerTags = $.containerTags; + this.repositoryName = $.repositoryName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ImageImageScanningConfigurationEcrConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ImageImageScanningConfigurationEcrConfigurationArgs $; + + public Builder() { + $ = new ImageImageScanningConfigurationEcrConfigurationArgs(); + } + + public Builder(ImageImageScanningConfigurationEcrConfigurationArgs defaults) { + $ = new ImageImageScanningConfigurationEcrConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containerTags Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + * @return builder + * + */ + public Builder containerTags(@Nullable Output> containerTags) { + $.containerTags = containerTags; + return this; + } + + /** + * @param containerTags Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + * @return builder + * + */ + public Builder containerTags(List containerTags) { + return containerTags(Output.of(containerTags)); + } + + /** + * @param containerTags Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + * @return builder + * + */ + public Builder containerTags(String... containerTags) { + return containerTags(List.of(containerTags)); + } + + /** + * @param repositoryName The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + * @return builder + * + */ + public Builder repositoryName(@Nullable Output repositoryName) { + $.repositoryName = repositoryName; + return this; + } + + /** + * @param repositoryName The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + * @return builder + * + */ + public Builder repositoryName(String repositoryName) { + return repositoryName(Output.of(repositoryName)); + } + + public ImageImageScanningConfigurationEcrConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageState.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageState.java index a305b80b394..a7926b8edfd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/inputs/ImageState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.imagebuilder.inputs; +import com.pulumi.aws.imagebuilder.inputs.ImageImageScanningConfigurationArgs; import com.pulumi.aws.imagebuilder.inputs.ImageImageTestsConfigurationArgs; import com.pulumi.aws.imagebuilder.inputs.ImageOutputResourceArgs; import com.pulumi.core.Output; @@ -110,6 +111,21 @@ public Optional> imageRecipeArn() { return Optional.ofNullable(this.imageRecipeArn); } + /** + * Configuration block with image scanning configuration. Detailed below. + * + */ + @Import(name="imageScanningConfiguration") + private @Nullable Output imageScanningConfiguration; + + /** + * @return Configuration block with image scanning configuration. Detailed below. + * + */ + public Optional> imageScanningConfiguration() { + return Optional.ofNullable(this.imageScanningConfiguration); + } + /** * Configuration block with image tests configuration. Detailed below. * @@ -266,6 +282,7 @@ private ImageState(ImageState $) { this.distributionConfigurationArn = $.distributionConfigurationArn; this.enhancedImageMetadataEnabled = $.enhancedImageMetadataEnabled; this.imageRecipeArn = $.imageRecipeArn; + this.imageScanningConfiguration = $.imageScanningConfiguration; this.imageTestsConfiguration = $.imageTestsConfiguration; this.infrastructureConfigurationArn = $.infrastructureConfigurationArn; this.name = $.name; @@ -421,6 +438,27 @@ public Builder imageRecipeArn(String imageRecipeArn) { return imageRecipeArn(Output.of(imageRecipeArn)); } + /** + * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below. + * + * @return builder + * + */ + public Builder imageScanningConfiguration(@Nullable Output imageScanningConfiguration) { + $.imageScanningConfiguration = imageScanningConfiguration; + return this; + } + + /** + * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below. + * + * @return builder + * + */ + public Builder imageScanningConfiguration(ImageImageScanningConfigurationArgs imageScanningConfiguration) { + return imageScanningConfiguration(Output.of(imageScanningConfiguration)); + } + /** * @param imageTestsConfiguration Configuration block with image tests configuration. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfiguration.java new file mode 100644 index 00000000000..c8188b81cd0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfiguration.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.imagebuilder.outputs; + +import com.pulumi.aws.imagebuilder.outputs.GetImageImageScanningConfigurationEcrConfiguration; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetImageImageScanningConfiguration { + /** + * @return Configuration block with ECR configuration. + * + */ + private List ecrConfigurations; + /** + * @return Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + * + */ + private Boolean imageScanningEnabled; + + private GetImageImageScanningConfiguration() {} + /** + * @return Configuration block with ECR configuration. + * + */ + public List ecrConfigurations() { + return this.ecrConfigurations; + } + /** + * @return Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + * + */ + public Boolean imageScanningEnabled() { + return this.imageScanningEnabled; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetImageImageScanningConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List ecrConfigurations; + private Boolean imageScanningEnabled; + public Builder() {} + public Builder(GetImageImageScanningConfiguration defaults) { + Objects.requireNonNull(defaults); + this.ecrConfigurations = defaults.ecrConfigurations; + this.imageScanningEnabled = defaults.imageScanningEnabled; + } + + @CustomType.Setter + public Builder ecrConfigurations(List ecrConfigurations) { + this.ecrConfigurations = Objects.requireNonNull(ecrConfigurations); + return this; + } + public Builder ecrConfigurations(GetImageImageScanningConfigurationEcrConfiguration... ecrConfigurations) { + return ecrConfigurations(List.of(ecrConfigurations)); + } + @CustomType.Setter + public Builder imageScanningEnabled(Boolean imageScanningEnabled) { + this.imageScanningEnabled = Objects.requireNonNull(imageScanningEnabled); + return this; + } + public GetImageImageScanningConfiguration build() { + final var o = new GetImageImageScanningConfiguration(); + o.ecrConfigurations = ecrConfigurations; + o.imageScanningEnabled = imageScanningEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfigurationEcrConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfigurationEcrConfiguration.java new file mode 100644 index 00000000000..264cce67966 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageImageScanningConfigurationEcrConfiguration.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.imagebuilder.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetImageImageScanningConfigurationEcrConfiguration { + /** + * @return Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + private List containerTags; + /** + * @return The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + private String repositoryName; + + private GetImageImageScanningConfigurationEcrConfiguration() {} + /** + * @return Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + public List containerTags() { + return this.containerTags; + } + /** + * @return The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + public String repositoryName() { + return this.repositoryName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetImageImageScanningConfigurationEcrConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List containerTags; + private String repositoryName; + public Builder() {} + public Builder(GetImageImageScanningConfigurationEcrConfiguration defaults) { + Objects.requireNonNull(defaults); + this.containerTags = defaults.containerTags; + this.repositoryName = defaults.repositoryName; + } + + @CustomType.Setter + public Builder containerTags(List containerTags) { + this.containerTags = Objects.requireNonNull(containerTags); + return this; + } + public Builder containerTags(String... containerTags) { + return containerTags(List.of(containerTags)); + } + @CustomType.Setter + public Builder repositoryName(String repositoryName) { + this.repositoryName = Objects.requireNonNull(repositoryName); + return this; + } + public GetImageImageScanningConfigurationEcrConfiguration build() { + final var o = new GetImageImageScanningConfigurationEcrConfiguration(); + o.containerTags = containerTags; + o.repositoryName = repositoryName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageResult.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageResult.java index f0439af0cb0..96de3e6524a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/GetImageResult.java @@ -3,6 +3,7 @@ package com.pulumi.aws.imagebuilder.outputs; +import com.pulumi.aws.imagebuilder.outputs.GetImageImageScanningConfiguration; import com.pulumi.aws.imagebuilder.outputs.GetImageImageTestsConfiguration; import com.pulumi.aws.imagebuilder.outputs.GetImageOutputResource; import com.pulumi.core.annotations.CustomType; @@ -50,6 +51,11 @@ public final class GetImageResult { * */ private String imageRecipeArn; + /** + * @return List of an object with image scanning configuration fields. + * + */ + private List imageScanningConfigurations; /** * @return List of an object with image tests configuration. * @@ -144,6 +150,13 @@ public String id() { public String imageRecipeArn() { return this.imageRecipeArn; } + /** + * @return List of an object with image scanning configuration fields. + * + */ + public List imageScanningConfigurations() { + return this.imageScanningConfigurations; + } /** * @return List of an object with image tests configuration. * @@ -218,6 +231,7 @@ public static final class Builder { private Boolean enhancedImageMetadataEnabled; private String id; private String imageRecipeArn; + private List imageScanningConfigurations; private List imageTestsConfigurations; private String infrastructureConfigurationArn; private String name; @@ -237,6 +251,7 @@ public Builder(GetImageResult defaults) { this.enhancedImageMetadataEnabled = defaults.enhancedImageMetadataEnabled; this.id = defaults.id; this.imageRecipeArn = defaults.imageRecipeArn; + this.imageScanningConfigurations = defaults.imageScanningConfigurations; this.imageTestsConfigurations = defaults.imageTestsConfigurations; this.infrastructureConfigurationArn = defaults.infrastructureConfigurationArn; this.name = defaults.name; @@ -288,6 +303,14 @@ public Builder imageRecipeArn(String imageRecipeArn) { return this; } @CustomType.Setter + public Builder imageScanningConfigurations(List imageScanningConfigurations) { + this.imageScanningConfigurations = Objects.requireNonNull(imageScanningConfigurations); + return this; + } + public Builder imageScanningConfigurations(GetImageImageScanningConfiguration... imageScanningConfigurations) { + return imageScanningConfigurations(List.of(imageScanningConfigurations)); + } + @CustomType.Setter public Builder imageTestsConfigurations(List imageTestsConfigurations) { this.imageTestsConfigurations = Objects.requireNonNull(imageTestsConfigurations); return this; @@ -343,6 +366,7 @@ public GetImageResult build() { o.enhancedImageMetadataEnabled = enhancedImageMetadataEnabled; o.id = id; o.imageRecipeArn = imageRecipeArn; + o.imageScanningConfigurations = imageScanningConfigurations; o.imageTestsConfigurations = imageTestsConfigurations; o.infrastructureConfigurationArn = infrastructureConfigurationArn; o.name = name; diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfiguration.java new file mode 100644 index 00000000000..43a5b5f9fb1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfiguration.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.imagebuilder.outputs; + +import com.pulumi.aws.imagebuilder.outputs.ImageImageScanningConfigurationEcrConfiguration; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ImageImageScanningConfiguration { + /** + * @return Configuration block with ECR configuration. Detailed below. + * + */ + private @Nullable ImageImageScanningConfigurationEcrConfiguration ecrConfiguration; + /** + * @return Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + */ + private @Nullable Boolean imageScanningEnabled; + + private ImageImageScanningConfiguration() {} + /** + * @return Configuration block with ECR configuration. Detailed below. + * + */ + public Optional ecrConfiguration() { + return Optional.ofNullable(this.ecrConfiguration); + } + /** + * @return Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + * + */ + public Optional imageScanningEnabled() { + return Optional.ofNullable(this.imageScanningEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ImageImageScanningConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ImageImageScanningConfigurationEcrConfiguration ecrConfiguration; + private @Nullable Boolean imageScanningEnabled; + public Builder() {} + public Builder(ImageImageScanningConfiguration defaults) { + Objects.requireNonNull(defaults); + this.ecrConfiguration = defaults.ecrConfiguration; + this.imageScanningEnabled = defaults.imageScanningEnabled; + } + + @CustomType.Setter + public Builder ecrConfiguration(@Nullable ImageImageScanningConfigurationEcrConfiguration ecrConfiguration) { + this.ecrConfiguration = ecrConfiguration; + return this; + } + @CustomType.Setter + public Builder imageScanningEnabled(@Nullable Boolean imageScanningEnabled) { + this.imageScanningEnabled = imageScanningEnabled; + return this; + } + public ImageImageScanningConfiguration build() { + final var o = new ImageImageScanningConfiguration(); + o.ecrConfiguration = ecrConfiguration; + o.imageScanningEnabled = imageScanningEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfigurationEcrConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfigurationEcrConfiguration.java new file mode 100644 index 00000000000..f5c97a509f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/outputs/ImageImageScanningConfigurationEcrConfiguration.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.imagebuilder.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 ImageImageScanningConfigurationEcrConfiguration { + /** + * @return Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + private @Nullable List containerTags; + /** + * @return The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + private @Nullable String repositoryName; + + private ImageImageScanningConfigurationEcrConfiguration() {} + /** + * @return Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + * + */ + public List containerTags() { + return this.containerTags == null ? List.of() : this.containerTags; + } + /** + * @return The name of the container repository that Amazon Inspector scans to identify findings for your container images. + * + */ + public Optional repositoryName() { + return Optional.ofNullable(this.repositoryName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ImageImageScanningConfigurationEcrConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List containerTags; + private @Nullable String repositoryName; + public Builder() {} + public Builder(ImageImageScanningConfigurationEcrConfiguration defaults) { + Objects.requireNonNull(defaults); + this.containerTags = defaults.containerTags; + this.repositoryName = defaults.repositoryName; + } + + @CustomType.Setter + public Builder containerTags(@Nullable List containerTags) { + this.containerTags = containerTags; + return this; + } + public Builder containerTags(String... containerTags) { + return containerTags(List.of(containerTags)); + } + @CustomType.Setter + public Builder repositoryName(@Nullable String repositoryName) { + this.repositoryName = repositoryName; + return this; + } + public ImageImageScanningConfigurationEcrConfiguration build() { + final var o = new ImageImageScanningConfigurationEcrConfiguration(); + o.containerTags = containerTags; + o.repositoryName = repositoryName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java index 2eef28d7785..2d6c72bff2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/Enabler.java @@ -108,7 +108,7 @@ public Output> accountIds() { } /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ @@ -117,7 +117,7 @@ public Output> accountIds() { /** * @return Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/EnablerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/EnablerArgs.java index 5294755927f..43c7a4a1fda 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/EnablerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/EnablerArgs.java @@ -33,7 +33,7 @@ public Output> accountIds() { /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ @@ -42,7 +42,7 @@ public Output> accountIds() { /** * @return Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ @@ -111,7 +111,7 @@ public Builder accountIds(String... accountIds) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder @@ -124,7 +124,7 @@ public Builder resourceTypes(Output> resourceTypes) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder @@ -136,7 +136,7 @@ public Builder resourceTypes(List resourceTypes) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/EnablerState.java b/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/EnablerState.java index aaba83bc415..e791bad9d2e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/EnablerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector2/inputs/EnablerState.java @@ -35,7 +35,7 @@ public Optional>> accountIds() { /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ @@ -44,7 +44,7 @@ public Optional>> accountIds() { /** * @return Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * */ @@ -113,7 +113,7 @@ public Builder accountIds(String... accountIds) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder @@ -126,7 +126,7 @@ public Builder resourceTypes(@Nullable Output> resourceTypes) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder @@ -138,7 +138,7 @@ public Builder resourceTypes(List resourceTypes) { /** * @param resourceTypes Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java new file mode 100644 index 00000000000..842f38716c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfiguration.java @@ -0,0 +1,283 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.iot.DomainConfigurationArgs; +import com.pulumi.aws.iot.inputs.DomainConfigurationState; +import com.pulumi.aws.iot.outputs.DomainConfigurationAuthorizerConfig; +import com.pulumi.aws.iot.outputs.DomainConfigurationTlsConfig; +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; + +/** + * Creates and manages an AWS IoT domain configuration. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.iot.DomainConfiguration; + * import com.pulumi.aws.iot.DomainConfigurationArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 iot = new DomainConfiguration("iot", DomainConfigurationArgs.builder() + * .domainName("iot.example.com") + * .serviceType("DATA") + * .serverCertificateArns(aws_acm_certificate.cert().arn()) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Using `pulumi import`, import domain configurations using the name. For example: + * + * ```sh + * $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example + * ``` + * + */ +@ResourceType(type="aws:iot/domainConfiguration:DomainConfiguration") +public class DomainConfiguration extends com.pulumi.resources.CustomResource { + /** + * The ARN of the domain configuration. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the domain configuration. + * + */ + public Output arn() { + return this.arn; + } + /** + * An object that specifies the authorization service for a domain. See below. + * + */ + @Export(name="authorizerConfig", refs={DomainConfigurationAuthorizerConfig.class}, tree="[0]") + private Output authorizerConfig; + + /** + * @return An object that specifies the authorization service for a domain. See below. + * + */ + public Output> authorizerConfig() { + return Codegen.optional(this.authorizerConfig); + } + /** + * Fully-qualified domain name. + * + */ + @Export(name="domainName", refs={String.class}, tree="[0]") + private Output domainName; + + /** + * @return Fully-qualified domain name. + * + */ + public Output> domainName() { + return Codegen.optional(this.domainName); + } + /** + * The type of the domain. + * + */ + @Export(name="domainType", refs={String.class}, tree="[0]") + private Output domainType; + + /** + * @return The type of the domain. + * + */ + public Output domainType() { + return this.domainType; + } + /** + * The name of the domain configuration. This value must be unique to a region. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the domain configuration. This value must be unique to a region. + * + */ + public Output name() { + return this.name; + } + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + @Export(name="serverCertificateArns", refs={List.class,String.class}, tree="[0,1]") + private Output> serverCertificateArns; + + /** + * @return The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + public Output>> serverCertificateArns() { + return Codegen.optional(this.serverCertificateArns); + } + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + @Export(name="serviceType", refs={String.class}, tree="[0]") + private Output serviceType; + + /** + * @return The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + public Output> serviceType() { + return Codegen.optional(this.serviceType); + } + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + public Output> status() { + return Codegen.optional(this.status); + } + /** + * Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Map of tags to assign to this 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; + } + /** + * An object that specifies the TLS configuration for a domain. See below. + * + */ + @Export(name="tlsConfig", refs={DomainConfigurationTlsConfig.class}, tree="[0]") + private Output tlsConfig; + + /** + * @return An object that specifies the TLS configuration for a domain. See below. + * + */ + public Output tlsConfig() { + return this.tlsConfig; + } + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + @Export(name="validationCertificateArn", refs={String.class}, tree="[0]") + private Output validationCertificateArn; + + /** + * @return The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + public Output> validationCertificateArn() { + return Codegen.optional(this.validationCertificateArn); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DomainConfiguration(String name) { + this(name, DomainConfigurationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DomainConfiguration(String name, @Nullable DomainConfigurationArgs 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 DomainConfiguration(String name, @Nullable DomainConfigurationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:iot/domainConfiguration:DomainConfiguration", name, args == null ? DomainConfigurationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DomainConfiguration(String name, Output id, @Nullable DomainConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:iot/domainConfiguration:DomainConfiguration", 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()) + .additionalSecretOutputs(List.of( + "tagsAll" + )) + .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 DomainConfiguration get(String name, Output id, @Nullable DomainConfigurationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DomainConfiguration(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfigurationArgs.java new file mode 100644 index 00000000000..fddd1cd7f41 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/DomainConfigurationArgs.java @@ -0,0 +1,373 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot; + +import com.pulumi.aws.iot.inputs.DomainConfigurationAuthorizerConfigArgs; +import com.pulumi.aws.iot.inputs.DomainConfigurationTlsConfigArgs; +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 DomainConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final DomainConfigurationArgs Empty = new DomainConfigurationArgs(); + + /** + * An object that specifies the authorization service for a domain. See below. + * + */ + @Import(name="authorizerConfig") + private @Nullable Output authorizerConfig; + + /** + * @return An object that specifies the authorization service for a domain. See below. + * + */ + public Optional> authorizerConfig() { + return Optional.ofNullable(this.authorizerConfig); + } + + /** + * Fully-qualified domain name. + * + */ + @Import(name="domainName") + private @Nullable Output domainName; + + /** + * @return Fully-qualified domain name. + * + */ + public Optional> domainName() { + return Optional.ofNullable(this.domainName); + } + + /** + * The name of the domain configuration. This value must be unique to a region. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the domain configuration. This value must be unique to a region. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + @Import(name="serverCertificateArns") + private @Nullable Output> serverCertificateArns; + + /** + * @return The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + public Optional>> serverCertificateArns() { + return Optional.ofNullable(this.serverCertificateArns); + } + + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + @Import(name="serviceType") + private @Nullable Output serviceType; + + /** + * @return The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + public Optional> serviceType() { + return Optional.ofNullable(this.serviceType); + } + + @Import(name="status") + private @Nullable Output status; + + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags to assign to this 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); + } + + /** + * An object that specifies the TLS configuration for a domain. See below. + * + */ + @Import(name="tlsConfig") + private @Nullable Output tlsConfig; + + /** + * @return An object that specifies the TLS configuration for a domain. See below. + * + */ + public Optional> tlsConfig() { + return Optional.ofNullable(this.tlsConfig); + } + + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + @Import(name="validationCertificateArn") + private @Nullable Output validationCertificateArn; + + /** + * @return The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + public Optional> validationCertificateArn() { + return Optional.ofNullable(this.validationCertificateArn); + } + + private DomainConfigurationArgs() {} + + private DomainConfigurationArgs(DomainConfigurationArgs $) { + this.authorizerConfig = $.authorizerConfig; + this.domainName = $.domainName; + this.name = $.name; + this.serverCertificateArns = $.serverCertificateArns; + this.serviceType = $.serviceType; + this.status = $.status; + this.tags = $.tags; + this.tlsConfig = $.tlsConfig; + this.validationCertificateArn = $.validationCertificateArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DomainConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DomainConfigurationArgs $; + + public Builder() { + $ = new DomainConfigurationArgs(); + } + + public Builder(DomainConfigurationArgs defaults) { + $ = new DomainConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param authorizerConfig An object that specifies the authorization service for a domain. See below. + * + * @return builder + * + */ + public Builder authorizerConfig(@Nullable Output authorizerConfig) { + $.authorizerConfig = authorizerConfig; + return this; + } + + /** + * @param authorizerConfig An object that specifies the authorization service for a domain. See below. + * + * @return builder + * + */ + public Builder authorizerConfig(DomainConfigurationAuthorizerConfigArgs authorizerConfig) { + return authorizerConfig(Output.of(authorizerConfig)); + } + + /** + * @param domainName Fully-qualified domain name. + * + * @return builder + * + */ + public Builder domainName(@Nullable Output domainName) { + $.domainName = domainName; + return this; + } + + /** + * @param domainName Fully-qualified domain name. + * + * @return builder + * + */ + public Builder domainName(String domainName) { + return domainName(Output.of(domainName)); + } + + /** + * @param name The name of the domain configuration. This value must be unique to a region. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the domain configuration. This value must be unique to a region. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(@Nullable Output> serverCertificateArns) { + $.serverCertificateArns = serverCertificateArns; + return this; + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(List serverCertificateArns) { + return serverCertificateArns(Output.of(serverCertificateArns)); + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(String... serverCertificateArns) { + return serverCertificateArns(List.of(serverCertificateArns)); + } + + /** + * @param serviceType The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + * @return builder + * + */ + public Builder serviceType(@Nullable Output serviceType) { + $.serviceType = serviceType; + return this; + } + + /** + * @param serviceType The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + * @return builder + * + */ + public Builder serviceType(String serviceType) { + return serviceType(Output.of(serviceType)); + } + + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param tags Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags to assign to this 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 tlsConfig An object that specifies the TLS configuration for a domain. See below. + * + * @return builder + * + */ + public Builder tlsConfig(@Nullable Output tlsConfig) { + $.tlsConfig = tlsConfig; + return this; + } + + /** + * @param tlsConfig An object that specifies the TLS configuration for a domain. See below. + * + * @return builder + * + */ + public Builder tlsConfig(DomainConfigurationTlsConfigArgs tlsConfig) { + return tlsConfig(Output.of(tlsConfig)); + } + + /** + * @param validationCertificateArn The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + * @return builder + * + */ + public Builder validationCertificateArn(@Nullable Output validationCertificateArn) { + $.validationCertificateArn = validationCertificateArn; + return this; + } + + /** + * @param validationCertificateArn The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + * @return builder + * + */ + public Builder validationCertificateArn(String validationCertificateArn) { + return validationCertificateArn(Output.of(validationCertificateArn)); + } + + public DomainConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java index cdadf6c5cd2..c11f3206943 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/IndexingConfiguration.java @@ -27,6 +27,7 @@ * import com.pulumi.aws.iot.IndexingConfiguration; * import com.pulumi.aws.iot.IndexingConfigurationArgs; * import com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationArgs; + * import com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -60,6 +61,9 @@ * .type("Number") * .build()) * .deviceDefenderIndexingMode("VIOLATIONS") + * .filter(IndexingConfigurationThingIndexingConfigurationFilterArgs.builder() + * .namedShadowNames("thing1shadow") + * .build()) * .namedShadowIndexingMode("ON") * .thingConnectivityIndexingMode("STATUS") * .thingIndexingMode("REGISTRY_AND_SHADOW") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java index 9d104f5f9b2..fb90e41aeaa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java @@ -274,6 +274,20 @@ public Output> tagsAll() { public Output templateBody() { return this.templateBody; } + /** + * The type you define in a provisioning template. + * + */ + @Export(name="type", refs={String.class}, tree="[0]") + private Output type; + + /** + * @return The type you define in a provisioning template. + * + */ + public Output type() { + return this.type; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplateArgs.java index 58b2853e503..8e954efa394 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplateArgs.java @@ -123,6 +123,21 @@ public Output templateBody() { return this.templateBody; } + /** + * The type you define in a provisioning template. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The type you define in a provisioning template. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + private ProvisioningTemplateArgs() {} private ProvisioningTemplateArgs(ProvisioningTemplateArgs $) { @@ -133,6 +148,7 @@ private ProvisioningTemplateArgs(ProvisioningTemplateArgs $) { this.provisioningRoleArn = $.provisioningRoleArn; this.tags = $.tags; this.templateBody = $.templateBody; + this.type = $.type; } public static Builder builder() { @@ -300,6 +316,27 @@ public Builder templateBody(String templateBody) { return templateBody(Output.of(templateBody)); } + /** + * @param type The type you define in a provisioning template. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The type you define in a provisioning template. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + public ProvisioningTemplateArgs build() { $.provisioningRoleArn = Objects.requireNonNull($.provisioningRoleArn, "expected parameter 'provisioningRoleArn' to be non-null"); $.templateBody = Objects.requireNonNull($.templateBody, "expected parameter 'templateBody' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationAuthorizerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationAuthorizerConfigArgs.java new file mode 100644 index 00000000000..e7009e4432d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationAuthorizerConfigArgs.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.iot.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 DomainConfigurationAuthorizerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final DomainConfigurationAuthorizerConfigArgs Empty = new DomainConfigurationAuthorizerConfigArgs(); + + /** + * A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + */ + @Import(name="allowAuthorizerOverride") + private @Nullable Output allowAuthorizerOverride; + + /** + * @return A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + */ + public Optional> allowAuthorizerOverride() { + return Optional.ofNullable(this.allowAuthorizerOverride); + } + + /** + * The name of the authorization service for a domain configuration. + * + */ + @Import(name="defaultAuthorizerName") + private @Nullable Output defaultAuthorizerName; + + /** + * @return The name of the authorization service for a domain configuration. + * + */ + public Optional> defaultAuthorizerName() { + return Optional.ofNullable(this.defaultAuthorizerName); + } + + private DomainConfigurationAuthorizerConfigArgs() {} + + private DomainConfigurationAuthorizerConfigArgs(DomainConfigurationAuthorizerConfigArgs $) { + this.allowAuthorizerOverride = $.allowAuthorizerOverride; + this.defaultAuthorizerName = $.defaultAuthorizerName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DomainConfigurationAuthorizerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DomainConfigurationAuthorizerConfigArgs $; + + public Builder() { + $ = new DomainConfigurationAuthorizerConfigArgs(); + } + + public Builder(DomainConfigurationAuthorizerConfigArgs defaults) { + $ = new DomainConfigurationAuthorizerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param allowAuthorizerOverride A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + * @return builder + * + */ + public Builder allowAuthorizerOverride(@Nullable Output allowAuthorizerOverride) { + $.allowAuthorizerOverride = allowAuthorizerOverride; + return this; + } + + /** + * @param allowAuthorizerOverride A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + * @return builder + * + */ + public Builder allowAuthorizerOverride(Boolean allowAuthorizerOverride) { + return allowAuthorizerOverride(Output.of(allowAuthorizerOverride)); + } + + /** + * @param defaultAuthorizerName The name of the authorization service for a domain configuration. + * + * @return builder + * + */ + public Builder defaultAuthorizerName(@Nullable Output defaultAuthorizerName) { + $.defaultAuthorizerName = defaultAuthorizerName; + return this; + } + + /** + * @param defaultAuthorizerName The name of the authorization service for a domain configuration. + * + * @return builder + * + */ + public Builder defaultAuthorizerName(String defaultAuthorizerName) { + return defaultAuthorizerName(Output.of(defaultAuthorizerName)); + } + + public DomainConfigurationAuthorizerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationState.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationState.java new file mode 100644 index 00000000000..8a42b2f99d5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationState.java @@ -0,0 +1,500 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot.inputs; + +import com.pulumi.aws.iot.inputs.DomainConfigurationAuthorizerConfigArgs; +import com.pulumi.aws.iot.inputs.DomainConfigurationTlsConfigArgs; +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 DomainConfigurationState extends com.pulumi.resources.ResourceArgs { + + public static final DomainConfigurationState Empty = new DomainConfigurationState(); + + /** + * The ARN of the domain configuration. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the domain configuration. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * An object that specifies the authorization service for a domain. See below. + * + */ + @Import(name="authorizerConfig") + private @Nullable Output authorizerConfig; + + /** + * @return An object that specifies the authorization service for a domain. See below. + * + */ + public Optional> authorizerConfig() { + return Optional.ofNullable(this.authorizerConfig); + } + + /** + * Fully-qualified domain name. + * + */ + @Import(name="domainName") + private @Nullable Output domainName; + + /** + * @return Fully-qualified domain name. + * + */ + public Optional> domainName() { + return Optional.ofNullable(this.domainName); + } + + /** + * The type of the domain. + * + */ + @Import(name="domainType") + private @Nullable Output domainType; + + /** + * @return The type of the domain. + * + */ + public Optional> domainType() { + return Optional.ofNullable(this.domainType); + } + + /** + * The name of the domain configuration. This value must be unique to a region. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the domain configuration. This value must be unique to a region. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + @Import(name="serverCertificateArns") + private @Nullable Output> serverCertificateArns; + + /** + * @return The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + */ + public Optional>> serverCertificateArns() { + return Optional.ofNullable(this.serverCertificateArns); + } + + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + @Import(name="serviceType") + private @Nullable Output serviceType; + + /** + * @return The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + */ + public Optional> serviceType() { + return Optional.ofNullable(this.serviceType); + } + + @Import(name="status") + private @Nullable Output status; + + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags to assign to this 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); + } + + /** + * An object that specifies the TLS configuration for a domain. See below. + * + */ + @Import(name="tlsConfig") + private @Nullable Output tlsConfig; + + /** + * @return An object that specifies the TLS configuration for a domain. See below. + * + */ + public Optional> tlsConfig() { + return Optional.ofNullable(this.tlsConfig); + } + + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + @Import(name="validationCertificateArn") + private @Nullable Output validationCertificateArn; + + /** + * @return The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + */ + public Optional> validationCertificateArn() { + return Optional.ofNullable(this.validationCertificateArn); + } + + private DomainConfigurationState() {} + + private DomainConfigurationState(DomainConfigurationState $) { + this.arn = $.arn; + this.authorizerConfig = $.authorizerConfig; + this.domainName = $.domainName; + this.domainType = $.domainType; + this.name = $.name; + this.serverCertificateArns = $.serverCertificateArns; + this.serviceType = $.serviceType; + this.status = $.status; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.tlsConfig = $.tlsConfig; + this.validationCertificateArn = $.validationCertificateArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DomainConfigurationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DomainConfigurationState $; + + public Builder() { + $ = new DomainConfigurationState(); + } + + public Builder(DomainConfigurationState defaults) { + $ = new DomainConfigurationState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the domain configuration. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the domain configuration. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param authorizerConfig An object that specifies the authorization service for a domain. See below. + * + * @return builder + * + */ + public Builder authorizerConfig(@Nullable Output authorizerConfig) { + $.authorizerConfig = authorizerConfig; + return this; + } + + /** + * @param authorizerConfig An object that specifies the authorization service for a domain. See below. + * + * @return builder + * + */ + public Builder authorizerConfig(DomainConfigurationAuthorizerConfigArgs authorizerConfig) { + return authorizerConfig(Output.of(authorizerConfig)); + } + + /** + * @param domainName Fully-qualified domain name. + * + * @return builder + * + */ + public Builder domainName(@Nullable Output domainName) { + $.domainName = domainName; + return this; + } + + /** + * @param domainName Fully-qualified domain name. + * + * @return builder + * + */ + public Builder domainName(String domainName) { + return domainName(Output.of(domainName)); + } + + /** + * @param domainType The type of the domain. + * + * @return builder + * + */ + public Builder domainType(@Nullable Output domainType) { + $.domainType = domainType; + return this; + } + + /** + * @param domainType The type of the domain. + * + * @return builder + * + */ + public Builder domainType(String domainType) { + return domainType(Output.of(domainType)); + } + + /** + * @param name The name of the domain configuration. This value must be unique to a region. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the domain configuration. This value must be unique to a region. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(@Nullable Output> serverCertificateArns) { + $.serverCertificateArns = serverCertificateArns; + return this; + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(List serverCertificateArns) { + return serverCertificateArns(Output.of(serverCertificateArns)); + } + + /** + * @param serverCertificateArns The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + * + * @return builder + * + */ + public Builder serverCertificateArns(String... serverCertificateArns) { + return serverCertificateArns(List.of(serverCertificateArns)); + } + + /** + * @param serviceType The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + * @return builder + * + */ + public Builder serviceType(@Nullable Output serviceType) { + $.serviceType = serviceType; + return this; + } + + /** + * @param serviceType The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + * + * @return builder + * + */ + public Builder serviceType(String serviceType) { + return serviceType(Output.of(serviceType)); + } + + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param tags Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags to assign to this 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)); + } + + /** + * @param tlsConfig An object that specifies the TLS configuration for a domain. See below. + * + * @return builder + * + */ + public Builder tlsConfig(@Nullable Output tlsConfig) { + $.tlsConfig = tlsConfig; + return this; + } + + /** + * @param tlsConfig An object that specifies the TLS configuration for a domain. See below. + * + * @return builder + * + */ + public Builder tlsConfig(DomainConfigurationTlsConfigArgs tlsConfig) { + return tlsConfig(Output.of(tlsConfig)); + } + + /** + * @param validationCertificateArn The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + * @return builder + * + */ + public Builder validationCertificateArn(@Nullable Output validationCertificateArn) { + $.validationCertificateArn = validationCertificateArn; + return this; + } + + /** + * @param validationCertificateArn The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + * + * @return builder + * + */ + public Builder validationCertificateArn(String validationCertificateArn) { + return validationCertificateArn(Output.of(validationCertificateArn)); + } + + public DomainConfigurationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationTlsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationTlsConfigArgs.java new file mode 100644 index 00000000000..cb326ca8ca7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/DomainConfigurationTlsConfigArgs.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.iot.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 DomainConfigurationTlsConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final DomainConfigurationTlsConfigArgs Empty = new DomainConfigurationTlsConfigArgs(); + + /** + * The security policy for a domain configuration. + * + */ + @Import(name="securityPolicy") + private @Nullable Output securityPolicy; + + /** + * @return The security policy for a domain configuration. + * + */ + public Optional> securityPolicy() { + return Optional.ofNullable(this.securityPolicy); + } + + private DomainConfigurationTlsConfigArgs() {} + + private DomainConfigurationTlsConfigArgs(DomainConfigurationTlsConfigArgs $) { + this.securityPolicy = $.securityPolicy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DomainConfigurationTlsConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DomainConfigurationTlsConfigArgs $; + + public Builder() { + $ = new DomainConfigurationTlsConfigArgs(); + } + + public Builder(DomainConfigurationTlsConfigArgs defaults) { + $ = new DomainConfigurationTlsConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityPolicy The security policy for a domain configuration. + * + * @return builder + * + */ + public Builder securityPolicy(@Nullable Output securityPolicy) { + $.securityPolicy = securityPolicy; + return this; + } + + /** + * @param securityPolicy The security policy for a domain configuration. + * + * @return builder + * + */ + public Builder securityPolicy(String securityPolicy) { + return securityPolicy(Output.of(securityPolicy)); + } + + public DomainConfigurationTlsConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationArgs.java index ac3be44519a..24a5b7fa70c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.iot.inputs; import com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationCustomFieldArgs; +import com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationFilterArgs; import com.pulumi.aws.iot.inputs.IndexingConfigurationThingIndexingConfigurationManagedFieldArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -48,6 +49,21 @@ public Optional> deviceDefenderIndexingMode() { return Optional.ofNullable(this.deviceDefenderIndexingMode); } + /** + * Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + /** * Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. * @@ -113,6 +129,7 @@ private IndexingConfigurationThingIndexingConfigurationArgs() {} private IndexingConfigurationThingIndexingConfigurationArgs(IndexingConfigurationThingIndexingConfigurationArgs $) { this.customFields = $.customFields; this.deviceDefenderIndexingMode = $.deviceDefenderIndexingMode; + this.filter = $.filter; this.managedFields = $.managedFields; this.namedShadowIndexingMode = $.namedShadowIndexingMode; this.thingConnectivityIndexingMode = $.thingConnectivityIndexingMode; @@ -189,6 +206,27 @@ public Builder deviceDefenderIndexingMode(String deviceDefenderIndexingMode) { return deviceDefenderIndexingMode(Output.of(deviceDefenderIndexingMode)); } + /** + * @param filter Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + * @return builder + * + */ + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + * @return builder + * + */ + public Builder filter(IndexingConfigurationThingIndexingConfigurationFilterArgs filter) { + return filter(Output.of(filter)); + } + /** * @param managedFields Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.java new file mode 100644 index 00000000000..4508136d590 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/IndexingConfigurationThingIndexingConfigurationFilterArgs.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.iot.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 IndexingConfigurationThingIndexingConfigurationFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final IndexingConfigurationThingIndexingConfigurationFilterArgs Empty = new IndexingConfigurationThingIndexingConfigurationFilterArgs(); + + /** + * List of shadow names that you select to index. + * + */ + @Import(name="namedShadowNames") + private @Nullable Output> namedShadowNames; + + /** + * @return List of shadow names that you select to index. + * + */ + public Optional>> namedShadowNames() { + return Optional.ofNullable(this.namedShadowNames); + } + + private IndexingConfigurationThingIndexingConfigurationFilterArgs() {} + + private IndexingConfigurationThingIndexingConfigurationFilterArgs(IndexingConfigurationThingIndexingConfigurationFilterArgs $) { + this.namedShadowNames = $.namedShadowNames; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IndexingConfigurationThingIndexingConfigurationFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IndexingConfigurationThingIndexingConfigurationFilterArgs $; + + public Builder() { + $ = new IndexingConfigurationThingIndexingConfigurationFilterArgs(); + } + + public Builder(IndexingConfigurationThingIndexingConfigurationFilterArgs defaults) { + $ = new IndexingConfigurationThingIndexingConfigurationFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param namedShadowNames List of shadow names that you select to index. + * + * @return builder + * + */ + public Builder namedShadowNames(@Nullable Output> namedShadowNames) { + $.namedShadowNames = namedShadowNames; + return this; + } + + /** + * @param namedShadowNames List of shadow names that you select to index. + * + * @return builder + * + */ + public Builder namedShadowNames(List namedShadowNames) { + return namedShadowNames(Output.of(namedShadowNames)); + } + + /** + * @param namedShadowNames List of shadow names that you select to index. + * + * @return builder + * + */ + public Builder namedShadowNames(String... namedShadowNames) { + return namedShadowNames(List.of(namedShadowNames)); + } + + public IndexingConfigurationThingIndexingConfigurationFilterArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/ProvisioningTemplateState.java b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/ProvisioningTemplateState.java index 63e19fa90ed..a95f315f6a1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/ProvisioningTemplateState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/inputs/ProvisioningTemplateState.java @@ -177,6 +177,21 @@ public Optional> templateBody() { return Optional.ofNullable(this.templateBody); } + /** + * The type you define in a provisioning template. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The type you define in a provisioning template. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + private ProvisioningTemplateState() {} private ProvisioningTemplateState(ProvisioningTemplateState $) { @@ -190,6 +205,7 @@ private ProvisioningTemplateState(ProvisioningTemplateState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.templateBody = $.templateBody; + this.type = $.type; } public static Builder builder() { @@ -428,6 +444,27 @@ public Builder templateBody(String templateBody) { return templateBody(Output.of(templateBody)); } + /** + * @param type The type you define in a provisioning template. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The type you define in a provisioning template. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + public ProvisioningTemplateState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationAuthorizerConfig.java b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationAuthorizerConfig.java new file mode 100644 index 00000000000..d979aa10600 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationAuthorizerConfig.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot.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 DomainConfigurationAuthorizerConfig { + /** + * @return A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + */ + private @Nullable Boolean allowAuthorizerOverride; + /** + * @return The name of the authorization service for a domain configuration. + * + */ + private @Nullable String defaultAuthorizerName; + + private DomainConfigurationAuthorizerConfig() {} + /** + * @return A Boolean that specifies whether the domain configuration's authorization service can be overridden. + * + */ + public Optional allowAuthorizerOverride() { + return Optional.ofNullable(this.allowAuthorizerOverride); + } + /** + * @return The name of the authorization service for a domain configuration. + * + */ + public Optional defaultAuthorizerName() { + return Optional.ofNullable(this.defaultAuthorizerName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DomainConfigurationAuthorizerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean allowAuthorizerOverride; + private @Nullable String defaultAuthorizerName; + public Builder() {} + public Builder(DomainConfigurationAuthorizerConfig defaults) { + Objects.requireNonNull(defaults); + this.allowAuthorizerOverride = defaults.allowAuthorizerOverride; + this.defaultAuthorizerName = defaults.defaultAuthorizerName; + } + + @CustomType.Setter + public Builder allowAuthorizerOverride(@Nullable Boolean allowAuthorizerOverride) { + this.allowAuthorizerOverride = allowAuthorizerOverride; + return this; + } + @CustomType.Setter + public Builder defaultAuthorizerName(@Nullable String defaultAuthorizerName) { + this.defaultAuthorizerName = defaultAuthorizerName; + return this; + } + public DomainConfigurationAuthorizerConfig build() { + final var o = new DomainConfigurationAuthorizerConfig(); + o.allowAuthorizerOverride = allowAuthorizerOverride; + o.defaultAuthorizerName = defaultAuthorizerName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationTlsConfig.java b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationTlsConfig.java new file mode 100644 index 00000000000..053ea6ed642 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/DomainConfigurationTlsConfig.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot.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 DomainConfigurationTlsConfig { + /** + * @return The security policy for a domain configuration. + * + */ + private @Nullable String securityPolicy; + + private DomainConfigurationTlsConfig() {} + /** + * @return The security policy for a domain configuration. + * + */ + public Optional securityPolicy() { + return Optional.ofNullable(this.securityPolicy); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DomainConfigurationTlsConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String securityPolicy; + public Builder() {} + public Builder(DomainConfigurationTlsConfig defaults) { + Objects.requireNonNull(defaults); + this.securityPolicy = defaults.securityPolicy; + } + + @CustomType.Setter + public Builder securityPolicy(@Nullable String securityPolicy) { + this.securityPolicy = securityPolicy; + return this; + } + public DomainConfigurationTlsConfig build() { + final var o = new DomainConfigurationTlsConfig(); + o.securityPolicy = securityPolicy; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfiguration.java index 11d6b4355f3..a6a289b81f2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfiguration.java @@ -4,6 +4,7 @@ package com.pulumi.aws.iot.outputs; import com.pulumi.aws.iot.outputs.IndexingConfigurationThingIndexingConfigurationCustomField; +import com.pulumi.aws.iot.outputs.IndexingConfigurationThingIndexingConfigurationFilter; import com.pulumi.aws.iot.outputs.IndexingConfigurationThingIndexingConfigurationManagedField; import com.pulumi.core.annotations.CustomType; import java.lang.String; @@ -24,6 +25,11 @@ public final class IndexingConfigurationThingIndexingConfiguration { * */ private @Nullable String deviceDefenderIndexingMode; + /** + * @return Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + */ + private @Nullable IndexingConfigurationThingIndexingConfigurationFilter filter; /** * @return Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. * @@ -60,6 +66,13 @@ public List customFi public Optional deviceDefenderIndexingMode() { return Optional.ofNullable(this.deviceDefenderIndexingMode); } + /** + * @return Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + * + */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } /** * @return Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. * @@ -100,6 +113,7 @@ public static Builder builder(IndexingConfigurationThingIndexingConfiguration de public static final class Builder { private @Nullable List customFields; private @Nullable String deviceDefenderIndexingMode; + private @Nullable IndexingConfigurationThingIndexingConfigurationFilter filter; private @Nullable List managedFields; private @Nullable String namedShadowIndexingMode; private @Nullable String thingConnectivityIndexingMode; @@ -109,6 +123,7 @@ public Builder(IndexingConfigurationThingIndexingConfiguration defaults) { Objects.requireNonNull(defaults); this.customFields = defaults.customFields; this.deviceDefenderIndexingMode = defaults.deviceDefenderIndexingMode; + this.filter = defaults.filter; this.managedFields = defaults.managedFields; this.namedShadowIndexingMode = defaults.namedShadowIndexingMode; this.thingConnectivityIndexingMode = defaults.thingConnectivityIndexingMode; @@ -129,6 +144,11 @@ public Builder deviceDefenderIndexingMode(@Nullable String deviceDefenderIndexin return this; } @CustomType.Setter + public Builder filter(@Nullable IndexingConfigurationThingIndexingConfigurationFilter filter) { + this.filter = filter; + return this; + } + @CustomType.Setter public Builder managedFields(@Nullable List managedFields) { this.managedFields = managedFields; return this; @@ -155,6 +175,7 @@ public IndexingConfigurationThingIndexingConfiguration build() { final var o = new IndexingConfigurationThingIndexingConfiguration(); o.customFields = customFields; o.deviceDefenderIndexingMode = deviceDefenderIndexingMode; + o.filter = filter; o.managedFields = managedFields; o.namedShadowIndexingMode = namedShadowIndexingMode; o.thingConnectivityIndexingMode = thingConnectivityIndexingMode; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfigurationFilter.java b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfigurationFilter.java new file mode 100644 index 00000000000..62199429855 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/outputs/IndexingConfigurationThingIndexingConfigurationFilter.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.iot.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class IndexingConfigurationThingIndexingConfigurationFilter { + /** + * @return List of shadow names that you select to index. + * + */ + private @Nullable List namedShadowNames; + + private IndexingConfigurationThingIndexingConfigurationFilter() {} + /** + * @return List of shadow names that you select to index. + * + */ + public List namedShadowNames() { + return this.namedShadowNames == null ? List.of() : this.namedShadowNames; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IndexingConfigurationThingIndexingConfigurationFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List namedShadowNames; + public Builder() {} + public Builder(IndexingConfigurationThingIndexingConfigurationFilter defaults) { + Objects.requireNonNull(defaults); + this.namedShadowNames = defaults.namedShadowNames; + } + + @CustomType.Setter + public Builder namedShadowNames(@Nullable List namedShadowNames) { + this.namedShadowNames = namedShadowNames; + return this; + } + public Builder namedShadowNames(String... namedShadowNames) { + return namedShadowNames(List.of(namedShadowNames)); + } + public IndexingConfigurationThingIndexingConfigurationFilter build() { + final var o = new IndexingConfigurationThingIndexingConfigurationFilter(); + o.namedShadowNames = namedShadowNames; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/FunctionVpcConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/FunctionVpcConfigArgs.java index 6801f25ee0c..b1f80d4bf23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/FunctionVpcConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/FunctionVpcConfigArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -16,6 +17,21 @@ public final class FunctionVpcConfigArgs extends com.pulumi.resources.ResourceAr public static final FunctionVpcConfigArgs Empty = new FunctionVpcConfigArgs(); + /** + * Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + */ + @Import(name="ipv6AllowedForDualStack") + private @Nullable Output ipv6AllowedForDualStack; + + /** + * @return Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + */ + public Optional> ipv6AllowedForDualStack() { + return Optional.ofNullable(this.ipv6AllowedForDualStack); + } + /** * List of security group IDs associated with the Lambda function. * @@ -56,6 +72,7 @@ public Optional> vpcId() { private FunctionVpcConfigArgs() {} private FunctionVpcConfigArgs(FunctionVpcConfigArgs $) { + this.ipv6AllowedForDualStack = $.ipv6AllowedForDualStack; this.securityGroupIds = $.securityGroupIds; this.subnetIds = $.subnetIds; this.vpcId = $.vpcId; @@ -79,6 +96,27 @@ public Builder(FunctionVpcConfigArgs defaults) { $ = new FunctionVpcConfigArgs(Objects.requireNonNull(defaults)); } + /** + * @param ipv6AllowedForDualStack Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + * @return builder + * + */ + public Builder ipv6AllowedForDualStack(@Nullable Output ipv6AllowedForDualStack) { + $.ipv6AllowedForDualStack = ipv6AllowedForDualStack; + return this; + } + + /** + * @param ipv6AllowedForDualStack Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + * @return builder + * + */ + public Builder ipv6AllowedForDualStack(Boolean ipv6AllowedForDualStack) { + return ipv6AllowedForDualStack(Output.of(ipv6AllowedForDualStack)); + } + /** * @param securityGroupIds List of security group IDs associated with the Lambda function. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/FunctionVpcConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/FunctionVpcConfig.java index 6103f52c5fa..25a78e5fa43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/FunctionVpcConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/outputs/FunctionVpcConfig.java @@ -4,6 +4,7 @@ package com.pulumi.aws.lambda.outputs; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -12,6 +13,11 @@ @CustomType public final class FunctionVpcConfig { + /** + * @return Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + */ + private @Nullable Boolean ipv6AllowedForDualStack; /** * @return List of security group IDs associated with the Lambda function. * @@ -25,6 +31,13 @@ public final class FunctionVpcConfig { private @Nullable String vpcId; private FunctionVpcConfig() {} + /** + * @return Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + * + */ + public Optional ipv6AllowedForDualStack() { + return Optional.ofNullable(this.ipv6AllowedForDualStack); + } /** * @return List of security group IDs associated with the Lambda function. * @@ -52,17 +65,24 @@ public static Builder builder(FunctionVpcConfig defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Boolean ipv6AllowedForDualStack; private List securityGroupIds; private List subnetIds; private @Nullable String vpcId; public Builder() {} public Builder(FunctionVpcConfig defaults) { Objects.requireNonNull(defaults); + this.ipv6AllowedForDualStack = defaults.ipv6AllowedForDualStack; this.securityGroupIds = defaults.securityGroupIds; this.subnetIds = defaults.subnetIds; this.vpcId = defaults.vpcId; } + @CustomType.Setter + public Builder ipv6AllowedForDualStack(@Nullable Boolean ipv6AllowedForDualStack) { + this.ipv6AllowedForDualStack = ipv6AllowedForDualStack; + return this; + } @CustomType.Setter public Builder securityGroupIds(List securityGroupIds) { this.securityGroupIds = Objects.requireNonNull(securityGroupIds); @@ -86,6 +106,7 @@ public Builder vpcId(@Nullable String vpcId) { } public FunctionVpcConfig build() { final var o = new FunctionVpcConfig(); + o.ipv6AllowedForDualStack = ipv6AllowedForDualStack; o.securityGroupIds = securityGroupIds; o.subnetIds = subnetIds; o.vpcId = vpcId; diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java index b9762b5d159..d5b0eed989a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancer.java @@ -201,6 +201,20 @@ public Output> desyncMitigationMode() { public Output dnsName() { return this.dnsName; } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Export(name="dnsRecordClientRoutingPolicy", refs={String.class}, tree="[0]") + private Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Output> dnsRecordClientRoutingPolicy() { + return Codegen.optional(this.dnsRecordClientRoutingPolicy); + } /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -378,14 +392,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancerArgs.java index 99a40140fe8..46df154c7e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/LoadBalancerArgs.java @@ -66,6 +66,21 @@ public Optional> desyncMitigationMode() { return Optional.ofNullable(this.desyncMitigationMode); } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Import(name="dnsRecordClientRoutingPolicy") + private @Nullable Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Optional> dnsRecordClientRoutingPolicy() { + return Optional.ofNullable(this.dnsRecordClientRoutingPolicy); + } + /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -365,6 +380,7 @@ private LoadBalancerArgs(LoadBalancerArgs $) { this.accessLogs = $.accessLogs; this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool; this.desyncMitigationMode = $.desyncMitigationMode; + this.dnsRecordClientRoutingPolicy = $.dnsRecordClientRoutingPolicy; this.dropInvalidHeaderFields = $.dropInvalidHeaderFields; this.enableCrossZoneLoadBalancing = $.enableCrossZoneLoadBalancing; this.enableDeletionProtection = $.enableDeletionProtection; @@ -467,6 +483,27 @@ public Builder desyncMitigationMode(String desyncMitigationMode) { return desyncMitigationMode(Output.of(desyncMitigationMode)); } + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(@Nullable Output dnsRecordClientRoutingPolicy) { + $.dnsRecordClientRoutingPolicy = dnsRecordClientRoutingPolicy; + return this; + } + + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(String dnsRecordClientRoutingPolicy) { + return dnsRecordClientRoutingPolicy(Output.of(dnsRecordClientRoutingPolicy)); + } + /** * @param dropInvalidHeaderFields Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java index 74a9653453e..45901e086bf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroup.java @@ -9,6 +9,7 @@ import com.pulumi.aws.lb.outputs.TargetGroupHealthCheck; import com.pulumi.aws.lb.outputs.TargetGroupStickiness; import com.pulumi.aws.lb.outputs.TargetGroupTargetFailover; +import com.pulumi.aws.lb.outputs.TargetGroupTargetHealthState; import com.pulumi.core.Alias; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -164,6 +165,41 @@ * } * } * ``` + * ### Target group with unhealthy connection termination disabled + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.lb.TargetGroup; + * import com.pulumi.aws.lb.TargetGroupArgs; + * import com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 tcp_example = new TargetGroup("tcp-example", TargetGroupArgs.builder() + * .port(25) + * .protocol("TCP") + * .vpcId(aws_vpc.main().id()) + * .targetHealthStates(TargetGroupTargetHealthStateArgs.builder() + * .enableUnhealthyConnectionTermination(false) + * .build()) + * .build()); + * + * } + * } + * ``` * * ## Import * @@ -209,14 +245,14 @@ public Output arnSuffix() { * */ @Export(name="connectionTermination", refs={Boolean.class}, tree="[0]") - private Output connectionTermination; + private Output connectionTermination; /** * @return Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. * */ - public Output> connectionTermination() { - return Codegen.optional(this.connectionTermination); + public Output connectionTermination() { + return this.connectionTermination; } /** * Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. @@ -321,14 +357,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Port on which targets receive traffic, unless overridden when registering a specific target. Required when `target_type` is `instance`, `ip` or `alb`. Does not apply when `target_type` is `lambda`. @@ -474,6 +510,20 @@ public Output> tagsAll() { public Output> targetFailovers() { return this.targetFailovers; } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Export(name="targetHealthStates", refs={List.class,TargetGroupTargetHealthState.class}, tree="[0,1]") + private Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Output> targetHealthStates() { + return this.targetHealthStates; + } /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupArgs.java index 788f35fc0f7..6089e71476a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/TargetGroupArgs.java @@ -6,6 +6,7 @@ import com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs; import com.pulumi.aws.lb.inputs.TargetGroupStickinessArgs; import com.pulumi.aws.lb.inputs.TargetGroupTargetFailoverArgs; +import com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -292,6 +293,21 @@ public Optional>> targetFailovers() { return Optional.ofNullable(this.targetFailovers); } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Import(name="targetHealthStates") + private @Nullable Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Optional>> targetHealthStates() { + return Optional.ofNullable(this.targetHealthStates); + } + /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -359,6 +375,7 @@ private TargetGroupArgs(TargetGroupArgs $) { this.stickiness = $.stickiness; this.tags = $.tags; this.targetFailovers = $.targetFailovers; + this.targetHealthStates = $.targetHealthStates; this.targetType = $.targetType; this.vpcId = $.vpcId; } @@ -769,6 +786,37 @@ public Builder targetFailovers(TargetGroupTargetFailoverArgs... targetFailovers) return targetFailovers(List.of(targetFailovers)); } + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(@Nullable Output> targetHealthStates) { + $.targetHealthStates = targetHealthStates; + return this; + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(List targetHealthStates) { + return targetHealthStates(Output.of(targetHealthStates)); + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(TargetGroupTargetHealthStateArgs... targetHealthStates) { + return targetHealthStates(List.of(targetHealthStates)); + } + /** * @param targetType Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/LoadBalancerState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/LoadBalancerState.java index 369f32550a7..41ba6f8e86b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/LoadBalancerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/LoadBalancerState.java @@ -111,6 +111,21 @@ public Optional> dnsName() { return Optional.ofNullable(this.dnsName); } + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + @Import(name="dnsRecordClientRoutingPolicy") + private @Nullable Output dnsRecordClientRoutingPolicy; + + /** + * @return Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + */ + public Optional> dnsRecordClientRoutingPolicy() { + return Optional.ofNullable(this.dnsRecordClientRoutingPolicy); + } + /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * @@ -458,6 +473,7 @@ private LoadBalancerState(LoadBalancerState $) { this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool; this.desyncMitigationMode = $.desyncMitigationMode; this.dnsName = $.dnsName; + this.dnsRecordClientRoutingPolicy = $.dnsRecordClientRoutingPolicy; this.dropInvalidHeaderFields = $.dropInvalidHeaderFields; this.enableCrossZoneLoadBalancing = $.enableCrossZoneLoadBalancing; this.enableDeletionProtection = $.enableDeletionProtection; @@ -626,6 +642,27 @@ public Builder dnsName(String dnsName) { return dnsName(Output.of(dnsName)); } + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(@Nullable Output dnsRecordClientRoutingPolicy) { + $.dnsRecordClientRoutingPolicy = dnsRecordClientRoutingPolicy; + return this; + } + + /** + * @param dnsRecordClientRoutingPolicy Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + * + * @return builder + * + */ + public Builder dnsRecordClientRoutingPolicy(String dnsRecordClientRoutingPolicy) { + return dnsRecordClientRoutingPolicy(Output.of(dnsRecordClientRoutingPolicy)); + } + /** * @param dropInvalidHeaderFields Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupState.java index 76aad636dcc..5ab40aae2c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupState.java @@ -6,6 +6,7 @@ import com.pulumi.aws.lb.inputs.TargetGroupHealthCheckArgs; import com.pulumi.aws.lb.inputs.TargetGroupStickinessArgs; import com.pulumi.aws.lb.inputs.TargetGroupTargetFailoverArgs; +import com.pulumi.aws.lb.inputs.TargetGroupTargetHealthStateArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -345,6 +346,21 @@ public Optional>> targetFailovers() { return Optional.ofNullable(this.targetFailovers); } + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + @Import(name="targetHealthStates") + private @Nullable Output> targetHealthStates; + + /** + * @return Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + */ + public Optional>> targetHealthStates() { + return Optional.ofNullable(this.targetHealthStates); + } + /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -415,6 +431,7 @@ private TargetGroupState(TargetGroupState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.targetFailovers = $.targetFailovers; + this.targetHealthStates = $.targetHealthStates; this.targetType = $.targetType; this.vpcId = $.vpcId; } @@ -896,6 +913,37 @@ public Builder targetFailovers(TargetGroupTargetFailoverArgs... targetFailovers) return targetFailovers(List.of(targetFailovers)); } + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(@Nullable Output> targetHealthStates) { + $.targetHealthStates = targetHealthStates; + return this; + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(List targetHealthStates) { + return targetHealthStates(Output.of(targetHealthStates)); + } + + /** + * @param targetHealthStates Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + * + * @return builder + * + */ + public Builder targetHealthStates(TargetGroupTargetHealthStateArgs... targetHealthStates) { + return targetHealthStates(List.of(targetHealthStates)); + } + /** * @param targetType Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupTargetHealthStateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupTargetHealthStateArgs.java new file mode 100644 index 00000000000..7877056caaf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/TargetGroupTargetHealthStateArgs.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.lb.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; + + +public final class TargetGroupTargetHealthStateArgs extends com.pulumi.resources.ResourceArgs { + + public static final TargetGroupTargetHealthStateArgs Empty = new TargetGroupTargetHealthStateArgs(); + + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + @Import(name="enableUnhealthyConnectionTermination", required=true) + private Output enableUnhealthyConnectionTermination; + + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + public Output enableUnhealthyConnectionTermination() { + return this.enableUnhealthyConnectionTermination; + } + + private TargetGroupTargetHealthStateArgs() {} + + private TargetGroupTargetHealthStateArgs(TargetGroupTargetHealthStateArgs $) { + this.enableUnhealthyConnectionTermination = $.enableUnhealthyConnectionTermination; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TargetGroupTargetHealthStateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TargetGroupTargetHealthStateArgs $; + + public Builder() { + $ = new TargetGroupTargetHealthStateArgs(); + } + + public Builder(TargetGroupTargetHealthStateArgs defaults) { + $ = new TargetGroupTargetHealthStateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enableUnhealthyConnectionTermination Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + * @return builder + * + */ + public Builder enableUnhealthyConnectionTermination(Output enableUnhealthyConnectionTermination) { + $.enableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + return this; + } + + /** + * @param enableUnhealthyConnectionTermination Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + * @return builder + * + */ + public Builder enableUnhealthyConnectionTermination(Boolean enableUnhealthyConnectionTermination) { + return enableUnhealthyConnectionTermination(Output.of(enableUnhealthyConnectionTermination)); + } + + public TargetGroupTargetHealthStateArgs build() { + $.enableUnhealthyConnectionTermination = Objects.requireNonNull($.enableUnhealthyConnectionTermination, "expected parameter 'enableUnhealthyConnectionTermination' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/outputs/TargetGroupTargetHealthState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/outputs/TargetGroupTargetHealthState.java new file mode 100644 index 00000000000..be147d3c599 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/outputs/TargetGroupTargetHealthState.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.lb.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class TargetGroupTargetHealthState { + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + private Boolean enableUnhealthyConnectionTermination; + + private TargetGroupTargetHealthState() {} + /** + * @return Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + * + */ + public Boolean enableUnhealthyConnectionTermination() { + return this.enableUnhealthyConnectionTermination; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TargetGroupTargetHealthState defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean enableUnhealthyConnectionTermination; + public Builder() {} + public Builder(TargetGroupTargetHealthState defaults) { + Objects.requireNonNull(defaults); + this.enableUnhealthyConnectionTermination = defaults.enableUnhealthyConnectionTermination; + } + + @CustomType.Setter + public Builder enableUnhealthyConnectionTermination(Boolean enableUnhealthyConnectionTermination) { + this.enableUnhealthyConnectionTermination = Objects.requireNonNull(enableUnhealthyConnectionTermination); + return this; + } + public TargetGroupTargetHealthState build() { + final var o = new TargetGroupTargetHealthState(); + o.enableUnhealthyConnectionTermination = enableUnhealthyConnectionTermination; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java b/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java index ebec2ab15ed..1136f0fe5a9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lightsail/KeyPair.java @@ -187,10 +187,10 @@ public Output name() { return this.name; } @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * An optional PGP key to encrypt the resulting private key material. Only used when creating a new key pair diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java new file mode 100644 index 00000000000..3fbbb418758 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.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.mediaconvert; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs; +import com.pulumi.aws.mediaconvert.inputs.GetQueuePlainArgs; +import com.pulumi.aws.mediaconvert.outputs.GetQueueResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class MediaconvertFunctions { + /** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.mediaconvert.MediaconvertFunctions; + * import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder() + * .id("tf-example-queue") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getQueue(GetQueueArgs args) { + return getQueue(args, InvokeOptions.Empty); + } + /** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.mediaconvert.MediaconvertFunctions; + * import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder() + * .id("tf-example-queue") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getQueuePlain(GetQueuePlainArgs args) { + return getQueuePlain(args, InvokeOptions.Empty); + } + /** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.mediaconvert.MediaconvertFunctions; + * import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder() + * .id("tf-example-queue") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getQueue(GetQueueArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:mediaconvert/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.mediaconvert.MediaconvertFunctions; + * import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = MediaconvertFunctions.getQueue(GetQueueArgs.builder() + * .id("tf-example-queue") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getQueuePlain(GetQueuePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:mediaconvert/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueueArgs.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueueArgs.java new file mode 100644 index 00000000000..96ae49b2a86 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueueArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.mediaconvert.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetQueueArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetQueueArgs Empty = new GetQueueArgs(); + + /** + * Unique identifier of the queue. The same as `name`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return Unique identifier of the queue. The same as `name`. + * + */ + public Output id() { + return this.id; + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetQueueArgs() {} + + private GetQueueArgs(GetQueueArgs $) { + this.id = $.id; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetQueueArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetQueueArgs $; + + public Builder() { + $ = new GetQueueArgs(); + } + + public Builder(GetQueueArgs defaults) { + $ = new GetQueueArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id Unique identifier of the queue. The same as `name`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id Unique identifier of the queue. The same as `name`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + /** + * @param tags A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetQueueArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueuePlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueuePlainArgs.java new file mode 100644 index 00000000000..c26ca76e5da --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/inputs/GetQueuePlainArgs.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.mediaconvert.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetQueuePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetQueuePlainArgs Empty = new GetQueuePlainArgs(); + + /** + * Unique identifier of the queue. The same as `name`. + * + */ + @Import(name="id", required=true) + private String id; + + /** + * @return Unique identifier of the queue. The same as `name`. + * + */ + public String id() { + return this.id; + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetQueuePlainArgs() {} + + private GetQueuePlainArgs(GetQueuePlainArgs $) { + this.id = $.id; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetQueuePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetQueuePlainArgs $; + + public Builder() { + $ = new GetQueuePlainArgs(); + } + + public Builder(GetQueuePlainArgs defaults) { + $ = new GetQueuePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id Unique identifier of the queue. The same as `name`. + * + * @return builder + * + */ + public Builder id(String id) { + $.id = id; + return this; + } + + /** + * @param tags A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetQueuePlainArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/outputs/GetQueueResult.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/outputs/GetQueueResult.java new file mode 100644 index 00000000000..2ae3e9f65e1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/outputs/GetQueueResult.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.mediaconvert.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetQueueResult { + /** + * @return The Arn of the queue. + * + */ + private String arn; + private String id; + /** + * @return The same as `id`. + * + */ + private String name; + /** + * @return The status of the queue. + * + */ + private String status; + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + private Map tags; + + private GetQueueResult() {} + /** + * @return The Arn of the queue. + * + */ + public String arn() { + return this.arn; + } + public String id() { + return this.id; + } + /** + * @return The same as `id`. + * + */ + public String name() { + return this.name; + } + /** + * @return The status of the queue. + * + */ + public String status() { + return this.status; + } + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetQueueResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String id; + private String name; + private String status; + private Map tags; + public Builder() {} + public Builder(GetQueueResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.id = defaults.id; + this.name = defaults.name; + this.status = defaults.status; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder status(String status) { + this.status = Objects.requireNonNull(status); + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetQueueResult build() { + final var o = new GetQueueResult(); + o.arn = arn; + o.id = id; + o.name = name; + o.status = status; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java new file mode 100644 index 00000000000..987a9f7f8d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.msk.ReplicatorArgs; +import com.pulumi.aws.msk.inputs.ReplicatorState; +import com.pulumi.aws.msk.outputs.ReplicatorKafkaCluster; +import com.pulumi.aws.msk.outputs.ReplicatorReplicationInfoList; +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 Managed Streaming for Kafka Replicator. + * + * ## Example Usage + * + * ## Import + * + * Using `pulumi import`, import MSK replicators using the replicator ARN. For example: + * + * ```sh + * $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 + * ``` + * + */ +@ResourceType(type="aws:msk/replicator:Replicator") +public class Replicator extends com.pulumi.resources.CustomResource { + /** + * ARN of the Replicator. 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 Replicator. 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="currentVersion", refs={String.class}, tree="[0]") + private Output currentVersion; + + public Output currentVersion() { + return this.currentVersion; + } + /** + * A summary description of the replicator. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return A summary description of the replicator. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * A list of Kafka clusters which are targets of the replicator. + * + */ + @Export(name="kafkaClusters", refs={List.class,ReplicatorKafkaCluster.class}, tree="[0,1]") + private Output> kafkaClusters; + + /** + * @return A list of Kafka clusters which are targets of the replicator. + * + */ + public Output> kafkaClusters() { + return this.kafkaClusters; + } + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + @Export(name="replicationInfoList", refs={ReplicatorReplicationInfoList.class}, tree="[0]") + private Output replicationInfoList; + + /** + * @return A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + public Output replicationInfoList() { + return this.replicationInfoList; + } + /** + * The name of the replicator. + * + */ + @Export(name="replicatorName", refs={String.class}, tree="[0]") + private Output replicatorName; + + /** + * @return The name of the replicator. + * + */ + public Output replicatorName() { + return this.replicatorName; + } + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + @Export(name="serviceExecutionRoleArn", refs={String.class}, tree="[0]") + private Output serviceExecutionRoleArn; + + /** + * @return The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + public Output serviceExecutionRoleArn() { + return this.serviceExecutionRoleArn; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Replicator(String name) { + this(name, ReplicatorArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Replicator(String name, ReplicatorArgs 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 Replicator(String name, ReplicatorArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:msk/replicator:Replicator", name, args == null ? ReplicatorArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Replicator(String name, Output id, @Nullable ReplicatorState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:msk/replicator:Replicator", 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()) + .additionalSecretOutputs(List.of( + "tagsAll" + )) + .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 Replicator get(String name, Output id, @Nullable ReplicatorState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Replicator(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/ReplicatorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/ReplicatorArgs.java new file mode 100644 index 00000000000..c20fb7b1463 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/ReplicatorArgs.java @@ -0,0 +1,266 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk; + +import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs; +import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs; +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 ReplicatorArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorArgs Empty = new ReplicatorArgs(); + + /** + * A summary description of the replicator. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A summary description of the replicator. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A list of Kafka clusters which are targets of the replicator. + * + */ + @Import(name="kafkaClusters", required=true) + private Output> kafkaClusters; + + /** + * @return A list of Kafka clusters which are targets of the replicator. + * + */ + public Output> kafkaClusters() { + return this.kafkaClusters; + } + + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + @Import(name="replicationInfoList", required=true) + private Output replicationInfoList; + + /** + * @return A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + public Output replicationInfoList() { + return this.replicationInfoList; + } + + /** + * The name of the replicator. + * + */ + @Import(name="replicatorName", required=true) + private Output replicatorName; + + /** + * @return The name of the replicator. + * + */ + public Output replicatorName() { + return this.replicatorName; + } + + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + @Import(name="serviceExecutionRoleArn", required=true) + private Output serviceExecutionRoleArn; + + /** + * @return The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + public Output serviceExecutionRoleArn() { + return this.serviceExecutionRoleArn; + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private ReplicatorArgs() {} + + private ReplicatorArgs(ReplicatorArgs $) { + this.description = $.description; + this.kafkaClusters = $.kafkaClusters; + this.replicationInfoList = $.replicationInfoList; + this.replicatorName = $.replicatorName; + this.serviceExecutionRoleArn = $.serviceExecutionRoleArn; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorArgs $; + + public Builder() { + $ = new ReplicatorArgs(); + } + + public Builder(ReplicatorArgs defaults) { + $ = new ReplicatorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A summary description of the replicator. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A summary description of the replicator. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(Output> kafkaClusters) { + $.kafkaClusters = kafkaClusters; + return this; + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(List kafkaClusters) { + return kafkaClusters(Output.of(kafkaClusters)); + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(ReplicatorKafkaClusterArgs... kafkaClusters) { + return kafkaClusters(List.of(kafkaClusters)); + } + + /** + * @param replicationInfoList A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + * @return builder + * + */ + public Builder replicationInfoList(Output replicationInfoList) { + $.replicationInfoList = replicationInfoList; + return this; + } + + /** + * @param replicationInfoList A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + * @return builder + * + */ + public Builder replicationInfoList(ReplicatorReplicationInfoListArgs replicationInfoList) { + return replicationInfoList(Output.of(replicationInfoList)); + } + + /** + * @param replicatorName The name of the replicator. + * + * @return builder + * + */ + public Builder replicatorName(Output replicatorName) { + $.replicatorName = replicatorName; + return this; + } + + /** + * @param replicatorName The name of the replicator. + * + * @return builder + * + */ + public Builder replicatorName(String replicatorName) { + return replicatorName(Output.of(replicatorName)); + } + + /** + * @param serviceExecutionRoleArn The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + * @return builder + * + */ + public Builder serviceExecutionRoleArn(Output serviceExecutionRoleArn) { + $.serviceExecutionRoleArn = serviceExecutionRoleArn; + return this; + } + + /** + * @param serviceExecutionRoleArn The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + * @return builder + * + */ + public Builder serviceExecutionRoleArn(String serviceExecutionRoleArn) { + return serviceExecutionRoleArn(Output.of(serviceExecutionRoleArn)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public ReplicatorArgs build() { + $.kafkaClusters = Objects.requireNonNull($.kafkaClusters, "expected parameter 'kafkaClusters' to be non-null"); + $.replicationInfoList = Objects.requireNonNull($.replicationInfoList, "expected parameter 'replicationInfoList' to be non-null"); + $.replicatorName = Objects.requireNonNull($.replicatorName, "expected parameter 'replicatorName' to be non-null"); + $.serviceExecutionRoleArn = Objects.requireNonNull($.serviceExecutionRoleArn, "expected parameter 'serviceExecutionRoleArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.java new file mode 100644 index 00000000000..e66e76ba3d7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterAmazonMskClusterArgs.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.msk.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class ReplicatorKafkaClusterAmazonMskClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorKafkaClusterAmazonMskClusterArgs Empty = new ReplicatorKafkaClusterAmazonMskClusterArgs(); + + /** + * The ARN of an Amazon MSK cluster. + * + */ + @Import(name="mskClusterArn", required=true) + private Output mskClusterArn; + + /** + * @return The ARN of an Amazon MSK cluster. + * + */ + public Output mskClusterArn() { + return this.mskClusterArn; + } + + private ReplicatorKafkaClusterAmazonMskClusterArgs() {} + + private ReplicatorKafkaClusterAmazonMskClusterArgs(ReplicatorKafkaClusterAmazonMskClusterArgs $) { + this.mskClusterArn = $.mskClusterArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorKafkaClusterAmazonMskClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorKafkaClusterAmazonMskClusterArgs $; + + public Builder() { + $ = new ReplicatorKafkaClusterAmazonMskClusterArgs(); + } + + public Builder(ReplicatorKafkaClusterAmazonMskClusterArgs defaults) { + $ = new ReplicatorKafkaClusterAmazonMskClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param mskClusterArn The ARN of an Amazon MSK cluster. + * + * @return builder + * + */ + public Builder mskClusterArn(Output mskClusterArn) { + $.mskClusterArn = mskClusterArn; + return this; + } + + /** + * @param mskClusterArn The ARN of an Amazon MSK cluster. + * + * @return builder + * + */ + public Builder mskClusterArn(String mskClusterArn) { + return mskClusterArn(Output.of(mskClusterArn)); + } + + public ReplicatorKafkaClusterAmazonMskClusterArgs build() { + $.mskClusterArn = Objects.requireNonNull($.mskClusterArn, "expected parameter 'mskClusterArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterArgs.java new file mode 100644 index 00000000000..600b05a6c50 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterArgs.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.msk.inputs; + +import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs; +import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; + + +public final class ReplicatorKafkaClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorKafkaClusterArgs Empty = new ReplicatorKafkaClusterArgs(); + + /** + * Details of an Amazon MSK cluster. + * + */ + @Import(name="amazonMskCluster", required=true) + private Output amazonMskCluster; + + /** + * @return Details of an Amazon MSK cluster. + * + */ + public Output amazonMskCluster() { + return this.amazonMskCluster; + } + + /** + * Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + */ + @Import(name="vpcConfig", required=true) + private Output vpcConfig; + + /** + * @return Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + */ + public Output vpcConfig() { + return this.vpcConfig; + } + + private ReplicatorKafkaClusterArgs() {} + + private ReplicatorKafkaClusterArgs(ReplicatorKafkaClusterArgs $) { + this.amazonMskCluster = $.amazonMskCluster; + this.vpcConfig = $.vpcConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorKafkaClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorKafkaClusterArgs $; + + public Builder() { + $ = new ReplicatorKafkaClusterArgs(); + } + + public Builder(ReplicatorKafkaClusterArgs defaults) { + $ = new ReplicatorKafkaClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amazonMskCluster Details of an Amazon MSK cluster. + * + * @return builder + * + */ + public Builder amazonMskCluster(Output amazonMskCluster) { + $.amazonMskCluster = amazonMskCluster; + return this; + } + + /** + * @param amazonMskCluster Details of an Amazon MSK cluster. + * + * @return builder + * + */ + public Builder amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs amazonMskCluster) { + return amazonMskCluster(Output.of(amazonMskCluster)); + } + + /** + * @param vpcConfig Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + * @return builder + * + */ + public Builder vpcConfig(Output vpcConfig) { + $.vpcConfig = vpcConfig; + return this; + } + + /** + * @param vpcConfig Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + * @return builder + * + */ + public Builder vpcConfig(ReplicatorKafkaClusterVpcConfigArgs vpcConfig) { + return vpcConfig(Output.of(vpcConfig)); + } + + public ReplicatorKafkaClusterArgs build() { + $.amazonMskCluster = Objects.requireNonNull($.amazonMskCluster, "expected parameter 'amazonMskCluster' to be non-null"); + $.vpcConfig = Objects.requireNonNull($.vpcConfig, "expected parameter 'vpcConfig' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterVpcConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterVpcConfigArgs.java new file mode 100644 index 00000000000..92a4dd0a3f3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorKafkaClusterVpcConfigArgs.java @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicatorKafkaClusterVpcConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorKafkaClusterVpcConfigArgs Empty = new ReplicatorKafkaClusterVpcConfigArgs(); + + /** + * The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + */ + @Import(name="securityGroupsIds") + private @Nullable Output> securityGroupsIds; + + /** + * @return The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + */ + public Optional>> securityGroupsIds() { + return Optional.ofNullable(this.securityGroupsIds); + } + + /** + * The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + */ + @Import(name="subnetIds", required=true) + private Output> subnetIds; + + /** + * @return The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + */ + public Output> subnetIds() { + return this.subnetIds; + } + + private ReplicatorKafkaClusterVpcConfigArgs() {} + + private ReplicatorKafkaClusterVpcConfigArgs(ReplicatorKafkaClusterVpcConfigArgs $) { + this.securityGroupsIds = $.securityGroupsIds; + this.subnetIds = $.subnetIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorKafkaClusterVpcConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorKafkaClusterVpcConfigArgs $; + + public Builder() { + $ = new ReplicatorKafkaClusterVpcConfigArgs(); + } + + public Builder(ReplicatorKafkaClusterVpcConfigArgs defaults) { + $ = new ReplicatorKafkaClusterVpcConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityGroupsIds The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + * @return builder + * + */ + public Builder securityGroupsIds(@Nullable Output> securityGroupsIds) { + $.securityGroupsIds = securityGroupsIds; + return this; + } + + /** + * @param securityGroupsIds The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + * @return builder + * + */ + public Builder securityGroupsIds(List securityGroupsIds) { + return securityGroupsIds(Output.of(securityGroupsIds)); + } + + /** + * @param securityGroupsIds The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + * @return builder + * + */ + public Builder securityGroupsIds(String... securityGroupsIds) { + return securityGroupsIds(List.of(securityGroupsIds)); + } + + /** + * @param subnetIds The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + * @return builder + * + */ + public Builder subnetIds(Output> subnetIds) { + $.subnetIds = subnetIds; + return this; + } + + /** + * @param subnetIds The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + * @return builder + * + */ + public Builder subnetIds(List subnetIds) { + return subnetIds(Output.of(subnetIds)); + } + + /** + * @param subnetIds The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + * @return builder + * + */ + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + + public ReplicatorKafkaClusterVpcConfigArgs build() { + $.subnetIds = Objects.requireNonNull($.subnetIds, "expected parameter 'subnetIds' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListArgs.java new file mode 100644 index 00000000000..2b13f0c9165 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListArgs.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.msk.inputs; + +import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs; +import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListTopicReplicationArgs; +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 ReplicatorReplicationInfoListArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorReplicationInfoListArgs Empty = new ReplicatorReplicationInfoListArgs(); + + /** + * Confguration relating to consumer group replication. + * + */ + @Import(name="consumerGroupReplications", required=true) + private Output> consumerGroupReplications; + + /** + * @return Confguration relating to consumer group replication. + * + */ + public Output> consumerGroupReplications() { + return this.consumerGroupReplications; + } + + @Import(name="sourceKafkaClusterAlias") + private @Nullable Output sourceKafkaClusterAlias; + + public Optional> sourceKafkaClusterAlias() { + return Optional.ofNullable(this.sourceKafkaClusterAlias); + } + + /** + * The ARN of the source Kafka cluster. + * + */ + @Import(name="sourceKafkaClusterArn", required=true) + private Output sourceKafkaClusterArn; + + /** + * @return The ARN of the source Kafka cluster. + * + */ + public Output sourceKafkaClusterArn() { + return this.sourceKafkaClusterArn; + } + + /** + * The type of compression to use writing records to target Kafka cluster. + * + */ + @Import(name="targetCompressionType", required=true) + private Output targetCompressionType; + + /** + * @return The type of compression to use writing records to target Kafka cluster. + * + */ + public Output targetCompressionType() { + return this.targetCompressionType; + } + + @Import(name="targetKafkaClusterAlias") + private @Nullable Output targetKafkaClusterAlias; + + public Optional> targetKafkaClusterAlias() { + return Optional.ofNullable(this.targetKafkaClusterAlias); + } + + /** + * The ARN of the target Kafka cluster. + * + */ + @Import(name="targetKafkaClusterArn", required=true) + private Output targetKafkaClusterArn; + + /** + * @return The ARN of the target Kafka cluster. + * + */ + public Output targetKafkaClusterArn() { + return this.targetKafkaClusterArn; + } + + /** + * Configuration relating to topic replication. + * + */ + @Import(name="topicReplications", required=true) + private Output> topicReplications; + + /** + * @return Configuration relating to topic replication. + * + */ + public Output> topicReplications() { + return this.topicReplications; + } + + private ReplicatorReplicationInfoListArgs() {} + + private ReplicatorReplicationInfoListArgs(ReplicatorReplicationInfoListArgs $) { + this.consumerGroupReplications = $.consumerGroupReplications; + this.sourceKafkaClusterAlias = $.sourceKafkaClusterAlias; + this.sourceKafkaClusterArn = $.sourceKafkaClusterArn; + this.targetCompressionType = $.targetCompressionType; + this.targetKafkaClusterAlias = $.targetKafkaClusterAlias; + this.targetKafkaClusterArn = $.targetKafkaClusterArn; + this.topicReplications = $.topicReplications; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorReplicationInfoListArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorReplicationInfoListArgs $; + + public Builder() { + $ = new ReplicatorReplicationInfoListArgs(); + } + + public Builder(ReplicatorReplicationInfoListArgs defaults) { + $ = new ReplicatorReplicationInfoListArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param consumerGroupReplications Confguration relating to consumer group replication. + * + * @return builder + * + */ + public Builder consumerGroupReplications(Output> consumerGroupReplications) { + $.consumerGroupReplications = consumerGroupReplications; + return this; + } + + /** + * @param consumerGroupReplications Confguration relating to consumer group replication. + * + * @return builder + * + */ + public Builder consumerGroupReplications(List consumerGroupReplications) { + return consumerGroupReplications(Output.of(consumerGroupReplications)); + } + + /** + * @param consumerGroupReplications Confguration relating to consumer group replication. + * + * @return builder + * + */ + public Builder consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs... consumerGroupReplications) { + return consumerGroupReplications(List.of(consumerGroupReplications)); + } + + public Builder sourceKafkaClusterAlias(@Nullable Output sourceKafkaClusterAlias) { + $.sourceKafkaClusterAlias = sourceKafkaClusterAlias; + return this; + } + + public Builder sourceKafkaClusterAlias(String sourceKafkaClusterAlias) { + return sourceKafkaClusterAlias(Output.of(sourceKafkaClusterAlias)); + } + + /** + * @param sourceKafkaClusterArn The ARN of the source Kafka cluster. + * + * @return builder + * + */ + public Builder sourceKafkaClusterArn(Output sourceKafkaClusterArn) { + $.sourceKafkaClusterArn = sourceKafkaClusterArn; + return this; + } + + /** + * @param sourceKafkaClusterArn The ARN of the source Kafka cluster. + * + * @return builder + * + */ + public Builder sourceKafkaClusterArn(String sourceKafkaClusterArn) { + return sourceKafkaClusterArn(Output.of(sourceKafkaClusterArn)); + } + + /** + * @param targetCompressionType The type of compression to use writing records to target Kafka cluster. + * + * @return builder + * + */ + public Builder targetCompressionType(Output targetCompressionType) { + $.targetCompressionType = targetCompressionType; + return this; + } + + /** + * @param targetCompressionType The type of compression to use writing records to target Kafka cluster. + * + * @return builder + * + */ + public Builder targetCompressionType(String targetCompressionType) { + return targetCompressionType(Output.of(targetCompressionType)); + } + + public Builder targetKafkaClusterAlias(@Nullable Output targetKafkaClusterAlias) { + $.targetKafkaClusterAlias = targetKafkaClusterAlias; + return this; + } + + public Builder targetKafkaClusterAlias(String targetKafkaClusterAlias) { + return targetKafkaClusterAlias(Output.of(targetKafkaClusterAlias)); + } + + /** + * @param targetKafkaClusterArn The ARN of the target Kafka cluster. + * + * @return builder + * + */ + public Builder targetKafkaClusterArn(Output targetKafkaClusterArn) { + $.targetKafkaClusterArn = targetKafkaClusterArn; + return this; + } + + /** + * @param targetKafkaClusterArn The ARN of the target Kafka cluster. + * + * @return builder + * + */ + public Builder targetKafkaClusterArn(String targetKafkaClusterArn) { + return targetKafkaClusterArn(Output.of(targetKafkaClusterArn)); + } + + /** + * @param topicReplications Configuration relating to topic replication. + * + * @return builder + * + */ + public Builder topicReplications(Output> topicReplications) { + $.topicReplications = topicReplications; + return this; + } + + /** + * @param topicReplications Configuration relating to topic replication. + * + * @return builder + * + */ + public Builder topicReplications(List topicReplications) { + return topicReplications(Output.of(topicReplications)); + } + + /** + * @param topicReplications Configuration relating to topic replication. + * + * @return builder + * + */ + public Builder topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs... topicReplications) { + return topicReplications(List.of(topicReplications)); + } + + public ReplicatorReplicationInfoListArgs build() { + $.consumerGroupReplications = Objects.requireNonNull($.consumerGroupReplications, "expected parameter 'consumerGroupReplications' to be non-null"); + $.sourceKafkaClusterArn = Objects.requireNonNull($.sourceKafkaClusterArn, "expected parameter 'sourceKafkaClusterArn' to be non-null"); + $.targetCompressionType = Objects.requireNonNull($.targetCompressionType, "expected parameter 'targetCompressionType' to be non-null"); + $.targetKafkaClusterArn = Objects.requireNonNull($.targetKafkaClusterArn, "expected parameter 'targetKafkaClusterArn' to be non-null"); + $.topicReplications = Objects.requireNonNull($.topicReplications, "expected parameter 'topicReplications' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.java new file mode 100644 index 00000000000..d627d657e74 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListConsumerGroupReplicationArgs.java @@ -0,0 +1,217 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicatorReplicationInfoListConsumerGroupReplicationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorReplicationInfoListConsumerGroupReplicationArgs Empty = new ReplicatorReplicationInfoListConsumerGroupReplicationArgs(); + + /** + * List of regular expression patterns indicating the consumer groups that should not be replicated. + * + */ + @Import(name="consumerGroupsToExcludes") + private @Nullable Output> consumerGroupsToExcludes; + + /** + * @return List of regular expression patterns indicating the consumer groups that should not be replicated. + * + */ + public Optional>> consumerGroupsToExcludes() { + return Optional.ofNullable(this.consumerGroupsToExcludes); + } + + /** + * List of regular expression patterns indicating the consumer groups to copy. + * + */ + @Import(name="consumerGroupsToReplicates", required=true) + private Output> consumerGroupsToReplicates; + + /** + * @return List of regular expression patterns indicating the consumer groups to copy. + * + */ + public Output> consumerGroupsToReplicates() { + return this.consumerGroupsToReplicates; + } + + /** + * Whether to periodically check for new consumer groups. + * + */ + @Import(name="detectAndCopyNewConsumerGroups") + private @Nullable Output detectAndCopyNewConsumerGroups; + + /** + * @return Whether to periodically check for new consumer groups. + * + */ + public Optional> detectAndCopyNewConsumerGroups() { + return Optional.ofNullable(this.detectAndCopyNewConsumerGroups); + } + + /** + * Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + */ + @Import(name="synchroniseConsumerGroupOffsets") + private @Nullable Output synchroniseConsumerGroupOffsets; + + /** + * @return Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + */ + public Optional> synchroniseConsumerGroupOffsets() { + return Optional.ofNullable(this.synchroniseConsumerGroupOffsets); + } + + private ReplicatorReplicationInfoListConsumerGroupReplicationArgs() {} + + private ReplicatorReplicationInfoListConsumerGroupReplicationArgs(ReplicatorReplicationInfoListConsumerGroupReplicationArgs $) { + this.consumerGroupsToExcludes = $.consumerGroupsToExcludes; + this.consumerGroupsToReplicates = $.consumerGroupsToReplicates; + this.detectAndCopyNewConsumerGroups = $.detectAndCopyNewConsumerGroups; + this.synchroniseConsumerGroupOffsets = $.synchroniseConsumerGroupOffsets; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorReplicationInfoListConsumerGroupReplicationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorReplicationInfoListConsumerGroupReplicationArgs $; + + public Builder() { + $ = new ReplicatorReplicationInfoListConsumerGroupReplicationArgs(); + } + + public Builder(ReplicatorReplicationInfoListConsumerGroupReplicationArgs defaults) { + $ = new ReplicatorReplicationInfoListConsumerGroupReplicationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param consumerGroupsToExcludes List of regular expression patterns indicating the consumer groups that should not be replicated. + * + * @return builder + * + */ + public Builder consumerGroupsToExcludes(@Nullable Output> consumerGroupsToExcludes) { + $.consumerGroupsToExcludes = consumerGroupsToExcludes; + return this; + } + + /** + * @param consumerGroupsToExcludes List of regular expression patterns indicating the consumer groups that should not be replicated. + * + * @return builder + * + */ + public Builder consumerGroupsToExcludes(List consumerGroupsToExcludes) { + return consumerGroupsToExcludes(Output.of(consumerGroupsToExcludes)); + } + + /** + * @param consumerGroupsToExcludes List of regular expression patterns indicating the consumer groups that should not be replicated. + * + * @return builder + * + */ + public Builder consumerGroupsToExcludes(String... consumerGroupsToExcludes) { + return consumerGroupsToExcludes(List.of(consumerGroupsToExcludes)); + } + + /** + * @param consumerGroupsToReplicates List of regular expression patterns indicating the consumer groups to copy. + * + * @return builder + * + */ + public Builder consumerGroupsToReplicates(Output> consumerGroupsToReplicates) { + $.consumerGroupsToReplicates = consumerGroupsToReplicates; + return this; + } + + /** + * @param consumerGroupsToReplicates List of regular expression patterns indicating the consumer groups to copy. + * + * @return builder + * + */ + public Builder consumerGroupsToReplicates(List consumerGroupsToReplicates) { + return consumerGroupsToReplicates(Output.of(consumerGroupsToReplicates)); + } + + /** + * @param consumerGroupsToReplicates List of regular expression patterns indicating the consumer groups to copy. + * + * @return builder + * + */ + public Builder consumerGroupsToReplicates(String... consumerGroupsToReplicates) { + return consumerGroupsToReplicates(List.of(consumerGroupsToReplicates)); + } + + /** + * @param detectAndCopyNewConsumerGroups Whether to periodically check for new consumer groups. + * + * @return builder + * + */ + public Builder detectAndCopyNewConsumerGroups(@Nullable Output detectAndCopyNewConsumerGroups) { + $.detectAndCopyNewConsumerGroups = detectAndCopyNewConsumerGroups; + return this; + } + + /** + * @param detectAndCopyNewConsumerGroups Whether to periodically check for new consumer groups. + * + * @return builder + * + */ + public Builder detectAndCopyNewConsumerGroups(Boolean detectAndCopyNewConsumerGroups) { + return detectAndCopyNewConsumerGroups(Output.of(detectAndCopyNewConsumerGroups)); + } + + /** + * @param synchroniseConsumerGroupOffsets Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + * @return builder + * + */ + public Builder synchroniseConsumerGroupOffsets(@Nullable Output synchroniseConsumerGroupOffsets) { + $.synchroniseConsumerGroupOffsets = synchroniseConsumerGroupOffsets; + return this; + } + + /** + * @param synchroniseConsumerGroupOffsets Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + * @return builder + * + */ + public Builder synchroniseConsumerGroupOffsets(Boolean synchroniseConsumerGroupOffsets) { + return synchroniseConsumerGroupOffsets(Output.of(synchroniseConsumerGroupOffsets)); + } + + public ReplicatorReplicationInfoListConsumerGroupReplicationArgs build() { + $.consumerGroupsToReplicates = Objects.requireNonNull($.consumerGroupsToReplicates, "expected parameter 'consumerGroupsToReplicates' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java new file mode 100644 index 00000000000..fd9286f2908 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java @@ -0,0 +1,254 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicatorReplicationInfoListTopicReplicationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorReplicationInfoListTopicReplicationArgs Empty = new ReplicatorReplicationInfoListTopicReplicationArgs(); + + /** + * Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + */ + @Import(name="copyAccessControlListsForTopics") + private @Nullable Output copyAccessControlListsForTopics; + + /** + * @return Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + */ + public Optional> copyAccessControlListsForTopics() { + return Optional.ofNullable(this.copyAccessControlListsForTopics); + } + + /** + * Whether to periodically configure remote topics to match their corresponding upstream topics. + * + */ + @Import(name="copyTopicConfigurations") + private @Nullable Output copyTopicConfigurations; + + /** + * @return Whether to periodically configure remote topics to match their corresponding upstream topics. + * + */ + public Optional> copyTopicConfigurations() { + return Optional.ofNullable(this.copyTopicConfigurations); + } + + /** + * Whether to periodically check for new topics and partitions. + * + */ + @Import(name="detectAndCopyNewTopics") + private @Nullable Output detectAndCopyNewTopics; + + /** + * @return Whether to periodically check for new topics and partitions. + * + */ + public Optional> detectAndCopyNewTopics() { + return Optional.ofNullable(this.detectAndCopyNewTopics); + } + + /** + * List of regular expression patterns indicating the topics that should not be replica. + * + */ + @Import(name="topicsToExcludes") + private @Nullable Output> topicsToExcludes; + + /** + * @return List of regular expression patterns indicating the topics that should not be replica. + * + */ + public Optional>> topicsToExcludes() { + return Optional.ofNullable(this.topicsToExcludes); + } + + /** + * List of regular expression patterns indicating the topics to copy. + * + */ + @Import(name="topicsToReplicates", required=true) + private Output> topicsToReplicates; + + /** + * @return List of regular expression patterns indicating the topics to copy. + * + */ + public Output> topicsToReplicates() { + return this.topicsToReplicates; + } + + private ReplicatorReplicationInfoListTopicReplicationArgs() {} + + private ReplicatorReplicationInfoListTopicReplicationArgs(ReplicatorReplicationInfoListTopicReplicationArgs $) { + this.copyAccessControlListsForTopics = $.copyAccessControlListsForTopics; + this.copyTopicConfigurations = $.copyTopicConfigurations; + this.detectAndCopyNewTopics = $.detectAndCopyNewTopics; + this.topicsToExcludes = $.topicsToExcludes; + this.topicsToReplicates = $.topicsToReplicates; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorReplicationInfoListTopicReplicationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorReplicationInfoListTopicReplicationArgs $; + + public Builder() { + $ = new ReplicatorReplicationInfoListTopicReplicationArgs(); + } + + public Builder(ReplicatorReplicationInfoListTopicReplicationArgs defaults) { + $ = new ReplicatorReplicationInfoListTopicReplicationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param copyAccessControlListsForTopics Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + * @return builder + * + */ + public Builder copyAccessControlListsForTopics(@Nullable Output copyAccessControlListsForTopics) { + $.copyAccessControlListsForTopics = copyAccessControlListsForTopics; + return this; + } + + /** + * @param copyAccessControlListsForTopics Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + * @return builder + * + */ + public Builder copyAccessControlListsForTopics(Boolean copyAccessControlListsForTopics) { + return copyAccessControlListsForTopics(Output.of(copyAccessControlListsForTopics)); + } + + /** + * @param copyTopicConfigurations Whether to periodically configure remote topics to match their corresponding upstream topics. + * + * @return builder + * + */ + public Builder copyTopicConfigurations(@Nullable Output copyTopicConfigurations) { + $.copyTopicConfigurations = copyTopicConfigurations; + return this; + } + + /** + * @param copyTopicConfigurations Whether to periodically configure remote topics to match their corresponding upstream topics. + * + * @return builder + * + */ + public Builder copyTopicConfigurations(Boolean copyTopicConfigurations) { + return copyTopicConfigurations(Output.of(copyTopicConfigurations)); + } + + /** + * @param detectAndCopyNewTopics Whether to periodically check for new topics and partitions. + * + * @return builder + * + */ + public Builder detectAndCopyNewTopics(@Nullable Output detectAndCopyNewTopics) { + $.detectAndCopyNewTopics = detectAndCopyNewTopics; + return this; + } + + /** + * @param detectAndCopyNewTopics Whether to periodically check for new topics and partitions. + * + * @return builder + * + */ + public Builder detectAndCopyNewTopics(Boolean detectAndCopyNewTopics) { + return detectAndCopyNewTopics(Output.of(detectAndCopyNewTopics)); + } + + /** + * @param topicsToExcludes List of regular expression patterns indicating the topics that should not be replica. + * + * @return builder + * + */ + public Builder topicsToExcludes(@Nullable Output> topicsToExcludes) { + $.topicsToExcludes = topicsToExcludes; + return this; + } + + /** + * @param topicsToExcludes List of regular expression patterns indicating the topics that should not be replica. + * + * @return builder + * + */ + public Builder topicsToExcludes(List topicsToExcludes) { + return topicsToExcludes(Output.of(topicsToExcludes)); + } + + /** + * @param topicsToExcludes List of regular expression patterns indicating the topics that should not be replica. + * + * @return builder + * + */ + public Builder topicsToExcludes(String... topicsToExcludes) { + return topicsToExcludes(List.of(topicsToExcludes)); + } + + /** + * @param topicsToReplicates List of regular expression patterns indicating the topics to copy. + * + * @return builder + * + */ + public Builder topicsToReplicates(Output> topicsToReplicates) { + $.topicsToReplicates = topicsToReplicates; + return this; + } + + /** + * @param topicsToReplicates List of regular expression patterns indicating the topics to copy. + * + * @return builder + * + */ + public Builder topicsToReplicates(List topicsToReplicates) { + return topicsToReplicates(Output.of(topicsToReplicates)); + } + + /** + * @param topicsToReplicates List of regular expression patterns indicating the topics to copy. + * + * @return builder + * + */ + public Builder topicsToReplicates(String... topicsToReplicates) { + return topicsToReplicates(List.of(topicsToReplicates)); + } + + public ReplicatorReplicationInfoListTopicReplicationArgs build() { + $.topicsToReplicates = Objects.requireNonNull($.topicsToReplicates, "expected parameter 'topicsToReplicates' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorState.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorState.java new file mode 100644 index 00000000000..e011d99c9b7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorState.java @@ -0,0 +1,361 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.inputs; + +import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs; +import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs; +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 ReplicatorState extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorState Empty = new ReplicatorState(); + + /** + * ARN of the Replicator. 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 Replicator. 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="currentVersion") + private @Nullable Output currentVersion; + + public Optional> currentVersion() { + return Optional.ofNullable(this.currentVersion); + } + + /** + * A summary description of the replicator. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A summary description of the replicator. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A list of Kafka clusters which are targets of the replicator. + * + */ + @Import(name="kafkaClusters") + private @Nullable Output> kafkaClusters; + + /** + * @return A list of Kafka clusters which are targets of the replicator. + * + */ + public Optional>> kafkaClusters() { + return Optional.ofNullable(this.kafkaClusters); + } + + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + @Import(name="replicationInfoList") + private @Nullable Output replicationInfoList; + + /** + * @return A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + */ + public Optional> replicationInfoList() { + return Optional.ofNullable(this.replicationInfoList); + } + + /** + * The name of the replicator. + * + */ + @Import(name="replicatorName") + private @Nullable Output replicatorName; + + /** + * @return The name of the replicator. + * + */ + public Optional> replicatorName() { + return Optional.ofNullable(this.replicatorName); + } + + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + @Import(name="serviceExecutionRoleArn") + private @Nullable Output serviceExecutionRoleArn; + + /** + * @return The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + */ + public Optional> serviceExecutionRoleArn() { + return Optional.ofNullable(this.serviceExecutionRoleArn); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private ReplicatorState() {} + + private ReplicatorState(ReplicatorState $) { + this.arn = $.arn; + this.currentVersion = $.currentVersion; + this.description = $.description; + this.kafkaClusters = $.kafkaClusters; + this.replicationInfoList = $.replicationInfoList; + this.replicatorName = $.replicatorName; + this.serviceExecutionRoleArn = $.serviceExecutionRoleArn; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorState $; + + public Builder() { + $ = new ReplicatorState(); + } + + public Builder(ReplicatorState defaults) { + $ = new ReplicatorState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Replicator. 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 Replicator. 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 currentVersion(@Nullable Output currentVersion) { + $.currentVersion = currentVersion; + return this; + } + + public Builder currentVersion(String currentVersion) { + return currentVersion(Output.of(currentVersion)); + } + + /** + * @param description A summary description of the replicator. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A summary description of the replicator. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(@Nullable Output> kafkaClusters) { + $.kafkaClusters = kafkaClusters; + return this; + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(List kafkaClusters) { + return kafkaClusters(Output.of(kafkaClusters)); + } + + /** + * @param kafkaClusters A list of Kafka clusters which are targets of the replicator. + * + * @return builder + * + */ + public Builder kafkaClusters(ReplicatorKafkaClusterArgs... kafkaClusters) { + return kafkaClusters(List.of(kafkaClusters)); + } + + /** + * @param replicationInfoList A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + * @return builder + * + */ + public Builder replicationInfoList(@Nullable Output replicationInfoList) { + $.replicationInfoList = replicationInfoList; + return this; + } + + /** + * @param replicationInfoList A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + * + * @return builder + * + */ + public Builder replicationInfoList(ReplicatorReplicationInfoListArgs replicationInfoList) { + return replicationInfoList(Output.of(replicationInfoList)); + } + + /** + * @param replicatorName The name of the replicator. + * + * @return builder + * + */ + public Builder replicatorName(@Nullable Output replicatorName) { + $.replicatorName = replicatorName; + return this; + } + + /** + * @param replicatorName The name of the replicator. + * + * @return builder + * + */ + public Builder replicatorName(String replicatorName) { + return replicatorName(Output.of(replicatorName)); + } + + /** + * @param serviceExecutionRoleArn The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + * @return builder + * + */ + public Builder serviceExecutionRoleArn(@Nullable Output serviceExecutionRoleArn) { + $.serviceExecutionRoleArn = serviceExecutionRoleArn; + return this; + } + + /** + * @param serviceExecutionRoleArn The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + * + * @return builder + * + */ + public Builder serviceExecutionRoleArn(String serviceExecutionRoleArn) { + return serviceExecutionRoleArn(Output.of(serviceExecutionRoleArn)); + } + + 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 ReplicatorState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaCluster.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaCluster.java new file mode 100644 index 00000000000..635a46eba84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaCluster.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.outputs; + +import com.pulumi.aws.msk.outputs.ReplicatorKafkaClusterAmazonMskCluster; +import com.pulumi.aws.msk.outputs.ReplicatorKafkaClusterVpcConfig; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; + +@CustomType +public final class ReplicatorKafkaCluster { + /** + * @return Details of an Amazon MSK cluster. + * + */ + private ReplicatorKafkaClusterAmazonMskCluster amazonMskCluster; + /** + * @return Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + */ + private ReplicatorKafkaClusterVpcConfig vpcConfig; + + private ReplicatorKafkaCluster() {} + /** + * @return Details of an Amazon MSK cluster. + * + */ + public ReplicatorKafkaClusterAmazonMskCluster amazonMskCluster() { + return this.amazonMskCluster; + } + /** + * @return Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + * + */ + public ReplicatorKafkaClusterVpcConfig vpcConfig() { + return this.vpcConfig; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorKafkaCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private ReplicatorKafkaClusterAmazonMskCluster amazonMskCluster; + private ReplicatorKafkaClusterVpcConfig vpcConfig; + public Builder() {} + public Builder(ReplicatorKafkaCluster defaults) { + Objects.requireNonNull(defaults); + this.amazonMskCluster = defaults.amazonMskCluster; + this.vpcConfig = defaults.vpcConfig; + } + + @CustomType.Setter + public Builder amazonMskCluster(ReplicatorKafkaClusterAmazonMskCluster amazonMskCluster) { + this.amazonMskCluster = Objects.requireNonNull(amazonMskCluster); + return this; + } + @CustomType.Setter + public Builder vpcConfig(ReplicatorKafkaClusterVpcConfig vpcConfig) { + this.vpcConfig = Objects.requireNonNull(vpcConfig); + return this; + } + public ReplicatorKafkaCluster build() { + final var o = new ReplicatorKafkaCluster(); + o.amazonMskCluster = amazonMskCluster; + o.vpcConfig = vpcConfig; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterAmazonMskCluster.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterAmazonMskCluster.java new file mode 100644 index 00000000000..9b375b33222 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterAmazonMskCluster.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ReplicatorKafkaClusterAmazonMskCluster { + /** + * @return The ARN of an Amazon MSK cluster. + * + */ + private String mskClusterArn; + + private ReplicatorKafkaClusterAmazonMskCluster() {} + /** + * @return The ARN of an Amazon MSK cluster. + * + */ + public String mskClusterArn() { + return this.mskClusterArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorKafkaClusterAmazonMskCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String mskClusterArn; + public Builder() {} + public Builder(ReplicatorKafkaClusterAmazonMskCluster defaults) { + Objects.requireNonNull(defaults); + this.mskClusterArn = defaults.mskClusterArn; + } + + @CustomType.Setter + public Builder mskClusterArn(String mskClusterArn) { + this.mskClusterArn = Objects.requireNonNull(mskClusterArn); + return this; + } + public ReplicatorKafkaClusterAmazonMskCluster build() { + final var o = new ReplicatorKafkaClusterAmazonMskCluster(); + o.mskClusterArn = mskClusterArn; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterVpcConfig.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterVpcConfig.java new file mode 100644 index 00000000000..a0a89680694 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorKafkaClusterVpcConfig.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.msk.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ReplicatorKafkaClusterVpcConfig { + /** + * @return The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + */ + private @Nullable List securityGroupsIds; + /** + * @return The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + */ + private List subnetIds; + + private ReplicatorKafkaClusterVpcConfig() {} + /** + * @return The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + * + */ + public List securityGroupsIds() { + return this.securityGroupsIds == null ? List.of() : this.securityGroupsIds; + } + /** + * @return The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + * + */ + public List subnetIds() { + return this.subnetIds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorKafkaClusterVpcConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List securityGroupsIds; + private List subnetIds; + public Builder() {} + public Builder(ReplicatorKafkaClusterVpcConfig defaults) { + Objects.requireNonNull(defaults); + this.securityGroupsIds = defaults.securityGroupsIds; + this.subnetIds = defaults.subnetIds; + } + + @CustomType.Setter + public Builder securityGroupsIds(@Nullable List securityGroupsIds) { + this.securityGroupsIds = securityGroupsIds; + return this; + } + public Builder securityGroupsIds(String... securityGroupsIds) { + return securityGroupsIds(List.of(securityGroupsIds)); + } + @CustomType.Setter + public Builder subnetIds(List subnetIds) { + this.subnetIds = Objects.requireNonNull(subnetIds); + return this; + } + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + public ReplicatorKafkaClusterVpcConfig build() { + final var o = new ReplicatorKafkaClusterVpcConfig(); + o.securityGroupsIds = securityGroupsIds; + o.subnetIds = subnetIds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoList.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoList.java new file mode 100644 index 00000000000..598ce77e279 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoList.java @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.outputs; + +import com.pulumi.aws.msk.outputs.ReplicatorReplicationInfoListConsumerGroupReplication; +import com.pulumi.aws.msk.outputs.ReplicatorReplicationInfoListTopicReplication; +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 ReplicatorReplicationInfoList { + /** + * @return Confguration relating to consumer group replication. + * + */ + private List consumerGroupReplications; + private @Nullable String sourceKafkaClusterAlias; + /** + * @return The ARN of the source Kafka cluster. + * + */ + private String sourceKafkaClusterArn; + /** + * @return The type of compression to use writing records to target Kafka cluster. + * + */ + private String targetCompressionType; + private @Nullable String targetKafkaClusterAlias; + /** + * @return The ARN of the target Kafka cluster. + * + */ + private String targetKafkaClusterArn; + /** + * @return Configuration relating to topic replication. + * + */ + private List topicReplications; + + private ReplicatorReplicationInfoList() {} + /** + * @return Confguration relating to consumer group replication. + * + */ + public List consumerGroupReplications() { + return this.consumerGroupReplications; + } + public Optional sourceKafkaClusterAlias() { + return Optional.ofNullable(this.sourceKafkaClusterAlias); + } + /** + * @return The ARN of the source Kafka cluster. + * + */ + public String sourceKafkaClusterArn() { + return this.sourceKafkaClusterArn; + } + /** + * @return The type of compression to use writing records to target Kafka cluster. + * + */ + public String targetCompressionType() { + return this.targetCompressionType; + } + public Optional targetKafkaClusterAlias() { + return Optional.ofNullable(this.targetKafkaClusterAlias); + } + /** + * @return The ARN of the target Kafka cluster. + * + */ + public String targetKafkaClusterArn() { + return this.targetKafkaClusterArn; + } + /** + * @return Configuration relating to topic replication. + * + */ + public List topicReplications() { + return this.topicReplications; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorReplicationInfoList defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List consumerGroupReplications; + private @Nullable String sourceKafkaClusterAlias; + private String sourceKafkaClusterArn; + private String targetCompressionType; + private @Nullable String targetKafkaClusterAlias; + private String targetKafkaClusterArn; + private List topicReplications; + public Builder() {} + public Builder(ReplicatorReplicationInfoList defaults) { + Objects.requireNonNull(defaults); + this.consumerGroupReplications = defaults.consumerGroupReplications; + this.sourceKafkaClusterAlias = defaults.sourceKafkaClusterAlias; + this.sourceKafkaClusterArn = defaults.sourceKafkaClusterArn; + this.targetCompressionType = defaults.targetCompressionType; + this.targetKafkaClusterAlias = defaults.targetKafkaClusterAlias; + this.targetKafkaClusterArn = defaults.targetKafkaClusterArn; + this.topicReplications = defaults.topicReplications; + } + + @CustomType.Setter + public Builder consumerGroupReplications(List consumerGroupReplications) { + this.consumerGroupReplications = Objects.requireNonNull(consumerGroupReplications); + return this; + } + public Builder consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplication... consumerGroupReplications) { + return consumerGroupReplications(List.of(consumerGroupReplications)); + } + @CustomType.Setter + public Builder sourceKafkaClusterAlias(@Nullable String sourceKafkaClusterAlias) { + this.sourceKafkaClusterAlias = sourceKafkaClusterAlias; + return this; + } + @CustomType.Setter + public Builder sourceKafkaClusterArn(String sourceKafkaClusterArn) { + this.sourceKafkaClusterArn = Objects.requireNonNull(sourceKafkaClusterArn); + return this; + } + @CustomType.Setter + public Builder targetCompressionType(String targetCompressionType) { + this.targetCompressionType = Objects.requireNonNull(targetCompressionType); + return this; + } + @CustomType.Setter + public Builder targetKafkaClusterAlias(@Nullable String targetKafkaClusterAlias) { + this.targetKafkaClusterAlias = targetKafkaClusterAlias; + return this; + } + @CustomType.Setter + public Builder targetKafkaClusterArn(String targetKafkaClusterArn) { + this.targetKafkaClusterArn = Objects.requireNonNull(targetKafkaClusterArn); + return this; + } + @CustomType.Setter + public Builder topicReplications(List topicReplications) { + this.topicReplications = Objects.requireNonNull(topicReplications); + return this; + } + public Builder topicReplications(ReplicatorReplicationInfoListTopicReplication... topicReplications) { + return topicReplications(List.of(topicReplications)); + } + public ReplicatorReplicationInfoList build() { + final var o = new ReplicatorReplicationInfoList(); + o.consumerGroupReplications = consumerGroupReplications; + o.sourceKafkaClusterAlias = sourceKafkaClusterAlias; + o.sourceKafkaClusterArn = sourceKafkaClusterArn; + o.targetCompressionType = targetCompressionType; + o.targetKafkaClusterAlias = targetKafkaClusterAlias; + o.targetKafkaClusterArn = targetKafkaClusterArn; + o.topicReplications = topicReplications; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListConsumerGroupReplication.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListConsumerGroupReplication.java new file mode 100644 index 00000000000..c0692f8f2f0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListConsumerGroupReplication.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.msk.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ReplicatorReplicationInfoListConsumerGroupReplication { + /** + * @return List of regular expression patterns indicating the consumer groups that should not be replicated. + * + */ + private @Nullable List consumerGroupsToExcludes; + /** + * @return List of regular expression patterns indicating the consumer groups to copy. + * + */ + private List consumerGroupsToReplicates; + /** + * @return Whether to periodically check for new consumer groups. + * + */ + private @Nullable Boolean detectAndCopyNewConsumerGroups; + /** + * @return Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + */ + private @Nullable Boolean synchroniseConsumerGroupOffsets; + + private ReplicatorReplicationInfoListConsumerGroupReplication() {} + /** + * @return List of regular expression patterns indicating the consumer groups that should not be replicated. + * + */ + public List consumerGroupsToExcludes() { + return this.consumerGroupsToExcludes == null ? List.of() : this.consumerGroupsToExcludes; + } + /** + * @return List of regular expression patterns indicating the consumer groups to copy. + * + */ + public List consumerGroupsToReplicates() { + return this.consumerGroupsToReplicates; + } + /** + * @return Whether to periodically check for new consumer groups. + * + */ + public Optional detectAndCopyNewConsumerGroups() { + return Optional.ofNullable(this.detectAndCopyNewConsumerGroups); + } + /** + * @return Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + * + */ + public Optional synchroniseConsumerGroupOffsets() { + return Optional.ofNullable(this.synchroniseConsumerGroupOffsets); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorReplicationInfoListConsumerGroupReplication defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List consumerGroupsToExcludes; + private List consumerGroupsToReplicates; + private @Nullable Boolean detectAndCopyNewConsumerGroups; + private @Nullable Boolean synchroniseConsumerGroupOffsets; + public Builder() {} + public Builder(ReplicatorReplicationInfoListConsumerGroupReplication defaults) { + Objects.requireNonNull(defaults); + this.consumerGroupsToExcludes = defaults.consumerGroupsToExcludes; + this.consumerGroupsToReplicates = defaults.consumerGroupsToReplicates; + this.detectAndCopyNewConsumerGroups = defaults.detectAndCopyNewConsumerGroups; + this.synchroniseConsumerGroupOffsets = defaults.synchroniseConsumerGroupOffsets; + } + + @CustomType.Setter + public Builder consumerGroupsToExcludes(@Nullable List consumerGroupsToExcludes) { + this.consumerGroupsToExcludes = consumerGroupsToExcludes; + return this; + } + public Builder consumerGroupsToExcludes(String... consumerGroupsToExcludes) { + return consumerGroupsToExcludes(List.of(consumerGroupsToExcludes)); + } + @CustomType.Setter + public Builder consumerGroupsToReplicates(List consumerGroupsToReplicates) { + this.consumerGroupsToReplicates = Objects.requireNonNull(consumerGroupsToReplicates); + return this; + } + public Builder consumerGroupsToReplicates(String... consumerGroupsToReplicates) { + return consumerGroupsToReplicates(List.of(consumerGroupsToReplicates)); + } + @CustomType.Setter + public Builder detectAndCopyNewConsumerGroups(@Nullable Boolean detectAndCopyNewConsumerGroups) { + this.detectAndCopyNewConsumerGroups = detectAndCopyNewConsumerGroups; + return this; + } + @CustomType.Setter + public Builder synchroniseConsumerGroupOffsets(@Nullable Boolean synchroniseConsumerGroupOffsets) { + this.synchroniseConsumerGroupOffsets = synchroniseConsumerGroupOffsets; + return this; + } + public ReplicatorReplicationInfoListConsumerGroupReplication build() { + final var o = new ReplicatorReplicationInfoListConsumerGroupReplication(); + o.consumerGroupsToExcludes = consumerGroupsToExcludes; + o.consumerGroupsToReplicates = consumerGroupsToReplicates; + o.detectAndCopyNewConsumerGroups = detectAndCopyNewConsumerGroups; + o.synchroniseConsumerGroupOffsets = synchroniseConsumerGroupOffsets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java new file mode 100644 index 00000000000..1f982618440 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ReplicatorReplicationInfoListTopicReplication { + /** + * @return Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + */ + private @Nullable Boolean copyAccessControlListsForTopics; + /** + * @return Whether to periodically configure remote topics to match their corresponding upstream topics. + * + */ + private @Nullable Boolean copyTopicConfigurations; + /** + * @return Whether to periodically check for new topics and partitions. + * + */ + private @Nullable Boolean detectAndCopyNewTopics; + /** + * @return List of regular expression patterns indicating the topics that should not be replica. + * + */ + private @Nullable List topicsToExcludes; + /** + * @return List of regular expression patterns indicating the topics to copy. + * + */ + private List topicsToReplicates; + + private ReplicatorReplicationInfoListTopicReplication() {} + /** + * @return Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + * + */ + public Optional copyAccessControlListsForTopics() { + return Optional.ofNullable(this.copyAccessControlListsForTopics); + } + /** + * @return Whether to periodically configure remote topics to match their corresponding upstream topics. + * + */ + public Optional copyTopicConfigurations() { + return Optional.ofNullable(this.copyTopicConfigurations); + } + /** + * @return Whether to periodically check for new topics and partitions. + * + */ + public Optional detectAndCopyNewTopics() { + return Optional.ofNullable(this.detectAndCopyNewTopics); + } + /** + * @return List of regular expression patterns indicating the topics that should not be replica. + * + */ + public List topicsToExcludes() { + return this.topicsToExcludes == null ? List.of() : this.topicsToExcludes; + } + /** + * @return List of regular expression patterns indicating the topics to copy. + * + */ + public List topicsToReplicates() { + return this.topicsToReplicates; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorReplicationInfoListTopicReplication defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean copyAccessControlListsForTopics; + private @Nullable Boolean copyTopicConfigurations; + private @Nullable Boolean detectAndCopyNewTopics; + private @Nullable List topicsToExcludes; + private List topicsToReplicates; + public Builder() {} + public Builder(ReplicatorReplicationInfoListTopicReplication defaults) { + Objects.requireNonNull(defaults); + this.copyAccessControlListsForTopics = defaults.copyAccessControlListsForTopics; + this.copyTopicConfigurations = defaults.copyTopicConfigurations; + this.detectAndCopyNewTopics = defaults.detectAndCopyNewTopics; + this.topicsToExcludes = defaults.topicsToExcludes; + this.topicsToReplicates = defaults.topicsToReplicates; + } + + @CustomType.Setter + public Builder copyAccessControlListsForTopics(@Nullable Boolean copyAccessControlListsForTopics) { + this.copyAccessControlListsForTopics = copyAccessControlListsForTopics; + return this; + } + @CustomType.Setter + public Builder copyTopicConfigurations(@Nullable Boolean copyTopicConfigurations) { + this.copyTopicConfigurations = copyTopicConfigurations; + return this; + } + @CustomType.Setter + public Builder detectAndCopyNewTopics(@Nullable Boolean detectAndCopyNewTopics) { + this.detectAndCopyNewTopics = detectAndCopyNewTopics; + return this; + } + @CustomType.Setter + public Builder topicsToExcludes(@Nullable List topicsToExcludes) { + this.topicsToExcludes = topicsToExcludes; + return this; + } + public Builder topicsToExcludes(String... topicsToExcludes) { + return topicsToExcludes(List.of(topicsToExcludes)); + } + @CustomType.Setter + public Builder topicsToReplicates(List topicsToReplicates) { + this.topicsToReplicates = Objects.requireNonNull(topicsToReplicates); + return this; + } + public Builder topicsToReplicates(String... topicsToReplicates) { + return topicsToReplicates(List.of(topicsToReplicates)); + } + public ReplicatorReplicationInfoListTopicReplication build() { + final var o = new ReplicatorReplicationInfoListTopicReplication(); + o.copyAccessControlListsForTopics = copyAccessControlListsForTopics; + o.copyTopicConfigurations = copyTopicConfigurations; + o.detectAndCopyNewTopics = detectAndCopyNewTopics; + o.topicsToExcludes = topicsToExcludes; + o.topicsToReplicates = topicsToReplicates; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java index 25c07b00f16..08346196493 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/Cluster.java @@ -235,14 +235,14 @@ public Output> deletionProtection() { return Codegen.optional(this.deletionProtection); } /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ @Export(name="enableCloudwatchLogsExports", refs={List.class,String.class}, tree="[0,1]") private Output> enableCloudwatchLogsExports; /** - * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ public Output>> enableCloudwatchLogsExports() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterArgs.java index 609e1cb5f30..d83fc534dba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterArgs.java @@ -141,14 +141,14 @@ public Optional> deletionProtection() { } /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ @Import(name="enableCloudwatchLogsExports") private @Nullable Output> enableCloudwatchLogsExports; /** - * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ public Optional>> enableCloudwatchLogsExports() { @@ -686,7 +686,7 @@ public Builder deletionProtection(Boolean deletionProtection) { } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * @@ -697,7 +697,7 @@ public Builder enableCloudwatchLogsExports(@Nullable Output> enable } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * @@ -707,7 +707,7 @@ public Builder enableCloudwatchLogsExports(List enableCloudwatchLogsExpo } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java index 3d14b6854f3..c9273e594fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstance.java @@ -215,14 +215,14 @@ public Output> engine() { return Codegen.optional(this.engine); } /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. * */ @Export(name="engineVersion", refs={String.class}, tree="[0]") private Output engineVersion; /** - * @return The neptune engine version. + * @return The neptune engine version. Currently configuring this argumnet has no effect. * */ public Output engineVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstanceArgs.java index 37785b97722..0645da4fe7e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/ClusterInstanceArgs.java @@ -96,14 +96,14 @@ public Optional> engine() { } /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. * */ @Import(name="engineVersion") private @Nullable Output engineVersion; /** - * @return The neptune engine version. + * @return The neptune engine version. Currently configuring this argumnet has no effect. * */ public Optional> engineVersion() { @@ -425,7 +425,7 @@ public Builder engine(String engine) { } /** - * @param engineVersion The neptune engine version. + * @param engineVersion The neptune engine version. Currently configuring this argumnet has no effect. * * @return builder * @@ -436,7 +436,7 @@ public Builder engineVersion(@Nullable Output engineVersion) { } /** - * @param engineVersion The neptune engine version. + * @param engineVersion The neptune engine version. Currently configuring this argumnet has no effect. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterInstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterInstanceState.java index ab8f31bd579..532d5d5a736 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterInstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterInstanceState.java @@ -156,14 +156,14 @@ public Optional> engine() { } /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. * */ @Import(name="engineVersion") private @Nullable Output engineVersion; /** - * @return The neptune engine version. + * @return The neptune engine version. Currently configuring this argumnet has no effect. * */ public Optional> engineVersion() { @@ -645,7 +645,7 @@ public Builder engine(String engine) { } /** - * @param engineVersion The neptune engine version. + * @param engineVersion The neptune engine version. Currently configuring this argumnet has no effect. * * @return builder * @@ -656,7 +656,7 @@ public Builder engineVersion(@Nullable Output engineVersion) { } /** - * @param engineVersion The neptune engine version. + * @param engineVersion The neptune engine version. Currently configuring this argumnet has no effect. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterState.java index 8238e787a11..f262a138031 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/inputs/ClusterState.java @@ -186,14 +186,14 @@ public Optional> deletionProtection() { } /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ @Import(name="enableCloudwatchLogsExports") private @Nullable Output> enableCloudwatchLogsExports; /** - * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * */ public Optional>> enableCloudwatchLogsExports() { @@ -879,7 +879,7 @@ public Builder deletionProtection(Boolean deletionProtection) { } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * @@ -890,7 +890,7 @@ public Builder enableCloudwatchLogsExports(@Nullable Output> enable } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * @@ -900,7 +900,7 @@ public Builder enableCloudwatchLogsExports(List enableCloudwatchLogsExpo } /** - * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java index ce14bc663c7..869c9e71ed8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainPolicy.java @@ -17,7 +17,6 @@ * Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). * * ## Example Usage - * * ```java * package generated_program; * @@ -48,11 +47,20 @@ * .build()); * * final var mainPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() - * .effect("Allow") - * .principals(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) - * .actions("es:*") - * .resources(example.arn().applyValue(arn -> String.format("%s/*", arn))) - * .condition(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .statements(GetPolicyDocumentStatementArgs.builder() + * .effect("Allow") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .type("*") + * .identifiers("*") + * .build()) + * .actions("es:*") + * .resources(example.arn().applyValue(arn -> String.format("%s/*", arn))) + * .conditions(GetPolicyDocumentStatementConditionArgs.builder() + * .test("IpAddress") + * .variable("aws:SourceIp") + * .values("127.0.0.1/32") + * .build()) + * .build()) * .build()); * * var mainDomainPolicy = new DomainPolicy("mainDomainPolicy", DomainPolicyArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java index 0898a9f7e42..62605776d43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java @@ -146,14 +146,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return The name of the Pinpoint application. Conflicts with `name` * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java index 10ac60da6ef..7edd4e34fd8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java @@ -431,14 +431,14 @@ @ResourceType(type="aws:rds/cluster:Cluster") public class Cluster extends com.pulumi.resources.CustomResource { /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ @Export(name="allocatedStorage", refs={Integer.class}, tree="[0]") private Output allocatedStorage; /** - * @return (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @return The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ public Output allocatedStorage() { @@ -487,14 +487,20 @@ public Output arn() { return this.arn; } /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ @Export(name="availabilityZones", refs={List.class,String.class}, tree="[0,1]") private Output> availabilityZones; /** - * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ public Output> availabilityZones() { @@ -613,14 +619,14 @@ public Output databaseName() { return this.databaseName; } /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ @Export(name="dbClusterInstanceClass", refs={String.class}, tree="[0]") private Output dbClusterInstanceClass; /** - * @return (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @return The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ public Output> dbClusterInstanceClass() { @@ -655,14 +661,16 @@ public Output> dbInstanceParameterGroupName() { return Codegen.optional(this.dbInstanceParameterGroupName); } /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ @Export(name="dbSubnetGroupName", refs={String.class}, tree="[0]") private Output dbSubnetGroupName; /** - * @return DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @return DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ public Output dbSubnetGroupName() { @@ -683,14 +691,18 @@ public Output dbSystemId() { return this.dbSystemId; } /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ @Export(name="deletionProtection", refs={Boolean.class}, tree="[0]") private Output deletionProtection; /** - * @return 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`. + * @return If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ public Output> deletionProtection() { @@ -1167,14 +1179,14 @@ public Output storageEncrypted() { return this.storageEncrypted; } /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ @Export(name="storageType", refs={String.class}, tree="[0]") private Output storageType; /** - * @return (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @return (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ public Output storageType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java index 53b6ba12103..f7b011e107d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java @@ -27,14 +27,14 @@ public final class ClusterArgs extends com.pulumi.resources.ResourceArgs { public static final ClusterArgs Empty = new ClusterArgs(); /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ @Import(name="allocatedStorage") private @Nullable Output allocatedStorage; /** - * @return (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @return The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ public Optional> allocatedStorage() { @@ -72,14 +72,20 @@ public Optional> applyImmediately() { } /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ @Import(name="availabilityZones") private @Nullable Output> availabilityZones; /** - * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ public Optional>> availabilityZones() { @@ -192,14 +198,14 @@ public Optional> databaseName() { } /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ @Import(name="dbClusterInstanceClass") private @Nullable Output dbClusterInstanceClass; /** - * @return (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @return The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ public Optional> dbClusterInstanceClass() { @@ -237,14 +243,16 @@ public Optional> dbInstanceParameterGroupName() { } /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ @Import(name="dbSubnetGroupName") private @Nullable Output dbSubnetGroupName; /** - * @return DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @return DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ public Optional> dbSubnetGroupName() { @@ -267,14 +275,18 @@ public Optional> dbSystemId() { } /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ @Import(name="deletionProtection") private @Nullable Output deletionProtection; /** - * @return 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`. + * @return If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ public Optional> deletionProtection() { @@ -709,14 +721,14 @@ public Optional> storageEncrypted() { } /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ @Import(name="storageType") private @Nullable Output storageType; /** - * @return (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @return (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ public Optional> storageType() { @@ -826,7 +838,7 @@ public Builder(ClusterArgs defaults) { } /** - * @param allocatedStorage (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @param allocatedStorage The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * * @return builder * @@ -837,7 +849,7 @@ public Builder allocatedStorage(@Nullable Output allocatedStorage) { } /** - * @param allocatedStorage (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @param allocatedStorage The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * * @return builder * @@ -889,7 +901,10 @@ public Builder applyImmediately(Boolean applyImmediately) { } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -900,7 +915,10 @@ public Builder availabilityZones(@Nullable Output> availabilityZone } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -910,7 +928,10 @@ public Builder availabilityZones(List availabilityZones) { } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -1077,7 +1098,7 @@ public Builder databaseName(String databaseName) { } /** - * @param dbClusterInstanceClass (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @param dbClusterInstanceClass The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * * @return builder * @@ -1088,7 +1109,7 @@ public Builder dbClusterInstanceClass(@Nullable Output dbClusterInstance } /** - * @param dbClusterInstanceClass (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @param dbClusterInstanceClass The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * * @return builder * @@ -1140,7 +1161,8 @@ public Builder dbInstanceParameterGroupName(String dbInstanceParameterGroupName) } /** - * @param dbSubnetGroupName DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @param dbSubnetGroupName DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * * @return builder * @@ -1151,7 +1173,8 @@ public Builder dbSubnetGroupName(@Nullable Output dbSubnetGroupName) { } /** - * @param dbSubnetGroupName DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @param dbSubnetGroupName DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * * @return builder * @@ -1182,7 +1205,9 @@ public Builder dbSystemId(String dbSystemId) { } /** - * @param deletionProtection 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 deletionProtection If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * * @return builder * @@ -1193,7 +1218,9 @@ public Builder deletionProtection(@Nullable Output deletionProtection) } /** - * @param deletionProtection 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 deletionProtection If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * * @return builder * @@ -1860,7 +1887,7 @@ public Builder storageEncrypted(Boolean storageEncrypted) { } /** - * @param storageType (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @param storageType (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * * @return builder * @@ -1871,7 +1898,7 @@ public Builder storageType(@Nullable Output storageType) { } /** - * @param storageType (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @param storageType (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index 605caaa11e0..6c2e329d106 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 @@ -538,7 +538,7 @@ public Output backupWindow() { } /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ @Export(name="blueGreenUpdate", refs={InstanceBlueGreenUpdate.class}, tree="[0]") @@ -546,7 +546,7 @@ public Output backupWindow() { /** * @return Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ public Output> blueGreenUpdate() { @@ -943,16 +943,24 @@ public Output latestRestorableTime() { return this.latestRestorableTime; } /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ @Export(name="licenseModel", refs={String.class}, tree="[0]") private Output licenseModel; /** - * @return (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @return License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ public Output licenseModel() { 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 8b21eb4a2d6..05a2b93cc7b 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 @@ -173,7 +173,7 @@ public Optional> backupWindow() { /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ @Import(name="blueGreenUpdate") @@ -181,7 +181,7 @@ public Optional> backupWindow() { /** * @return Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ public Optional> blueGreenUpdate() { @@ -544,16 +544,24 @@ public Optional> kmsKeyId() { } /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ @Import(name="licenseModel") private @Nullable Output licenseModel; /** - * @return (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @return License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ public Optional> licenseModel() { @@ -1396,7 +1404,7 @@ public Builder backupWindow(String backupWindow) { /** * @param blueGreenUpdate Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * * @return builder * @@ -1408,7 +1416,7 @@ public Builder blueGreenUpdate(@Nullable Output blu /** * @param blueGreenUpdate Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * * @return builder * @@ -1929,8 +1937,12 @@ public Builder kmsKeyId(String kmsKeyId) { } /** - * @param licenseModel (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @param licenseModel License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * * @return builder * @@ -1941,8 +1953,12 @@ public Builder licenseModel(@Nullable Output licenseModel) { } /** - * @param licenseModel (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @param licenseModel License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java index 5eb5cc016b1..feede0abdd0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java @@ -28,14 +28,14 @@ public final class ClusterState extends com.pulumi.resources.ResourceArgs { public static final ClusterState Empty = new ClusterState(); /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ @Import(name="allocatedStorage") private @Nullable Output allocatedStorage; /** - * @return (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @return The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * */ public Optional> allocatedStorage() { @@ -88,14 +88,20 @@ public Optional> arn() { } /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ @Import(name="availabilityZones") private @Nullable Output> availabilityZones; /** - * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @return List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * */ public Optional>> availabilityZones() { @@ -223,14 +229,14 @@ public Optional> databaseName() { } /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ @Import(name="dbClusterInstanceClass") private @Nullable Output dbClusterInstanceClass; /** - * @return (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @return The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * */ public Optional> dbClusterInstanceClass() { @@ -268,14 +274,16 @@ public Optional> dbInstanceParameterGroupName() { } /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ @Import(name="dbSubnetGroupName") private @Nullable Output dbSubnetGroupName; /** - * @return DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @return DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * */ public Optional> dbSubnetGroupName() { @@ -298,14 +306,18 @@ public Optional> dbSystemId() { } /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ @Import(name="deletionProtection") private @Nullable Output deletionProtection; /** - * @return 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`. + * @return If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * */ public Optional> deletionProtection() { @@ -817,14 +829,14 @@ public Optional> storageEncrypted() { } /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ @Import(name="storageType") private @Nullable Output storageType; /** - * @return (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @return (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * */ public Optional> storageType() { @@ -965,7 +977,7 @@ public Builder(ClusterState defaults) { } /** - * @param allocatedStorage (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @param allocatedStorage The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * * @return builder * @@ -976,7 +988,7 @@ public Builder allocatedStorage(@Nullable Output allocatedStorage) { } /** - * @param allocatedStorage (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * @param allocatedStorage The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. * * @return builder * @@ -1049,7 +1061,10 @@ public Builder arn(String arn) { } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -1060,7 +1075,10 @@ public Builder availabilityZones(@Nullable Output> availabilityZone } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -1070,7 +1088,10 @@ public Builder availabilityZones(List availabilityZones) { } /** - * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + * @param availabilityZones List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + * A maximum of 3 AZs can be configured. * * @return builder * @@ -1258,7 +1279,7 @@ public Builder databaseName(String databaseName) { } /** - * @param dbClusterInstanceClass (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @param dbClusterInstanceClass The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * * @return builder * @@ -1269,7 +1290,7 @@ public Builder dbClusterInstanceClass(@Nullable Output dbClusterInstance } /** - * @param dbClusterInstanceClass (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * @param dbClusterInstanceClass The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. * * @return builder * @@ -1321,7 +1342,8 @@ public Builder dbInstanceParameterGroupName(String dbInstanceParameterGroupName) } /** - * @param dbSubnetGroupName DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @param dbSubnetGroupName DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * * @return builder * @@ -1332,7 +1354,8 @@ public Builder dbSubnetGroupName(@Nullable Output dbSubnetGroupName) { } /** - * @param dbSubnetGroupName DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. + * @param dbSubnetGroupName DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `db_subnet_group_name` specified on every `aws.rds.ClusterInstance` in the cluster. * * @return builder * @@ -1363,7 +1386,9 @@ public Builder dbSystemId(String dbSystemId) { } /** - * @param deletionProtection 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 deletionProtection If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * * @return builder * @@ -1374,7 +1399,9 @@ public Builder deletionProtection(@Nullable Output deletionProtection) } /** - * @param deletionProtection 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 deletionProtection If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. * * @return builder * @@ -2158,7 +2185,7 @@ public Builder storageEncrypted(Boolean storageEncrypted) { } /** - * @param storageType (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @param storageType (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * * @return builder * @@ -2169,7 +2196,7 @@ public Builder storageType(@Nullable Output storageType) { } /** - * @param storageType (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * @param storageType (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). * * @return builder * 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 7a550c665a4..5b1f6ab78b5 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 @@ -205,7 +205,7 @@ public Optional> backupWindow() { /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ @Import(name="blueGreenUpdate") @@ -213,7 +213,7 @@ public Optional> backupWindow() { /** * @return Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * */ public Optional> blueGreenUpdate() { @@ -636,16 +636,24 @@ public Optional> latestRestorableTime() { } /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ @Import(name="licenseModel") private @Nullable Output licenseModel; /** - * @return (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @return License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * */ public Optional> licenseModel() { @@ -1632,7 +1640,7 @@ public Builder backupWindow(String backupWindow) { /** * @param blueGreenUpdate Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * * @return builder * @@ -1644,7 +1652,7 @@ public Builder blueGreenUpdate(@Nullable Output blu /** * @param blueGreenUpdate Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blue_green_update below + * See `blue_green_update` below. * * @return builder * @@ -2249,8 +2257,12 @@ public Builder latestRestorableTime(String latestRestorableTime) { } /** - * @param licenseModel (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @param licenseModel License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * * @return builder * @@ -2261,8 +2273,12 @@ public Builder licenseModel(@Nullable Output licenseModel) { } /** - * @param licenseModel (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * @param licenseModel License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java index 789dda8818f..99a676c6a33 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfile.java @@ -110,14 +110,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * A human-readable name for the signing platform associated with the signing profile. diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java index bf43139a8fe..f4921fd2762 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermission.java @@ -11,7 +11,6 @@ import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; -import java.util.Optional; import javax.annotation.Nullable; /** @@ -92,14 +91,14 @@ @ResourceType(type="aws:signer/signingProfilePermission:SigningProfilePermission") public class SigningProfilePermission extends com.pulumi.resources.CustomResource { /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ @Export(name="action", refs={String.class}, tree="[0]") private Output action; /** - * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ public Output action() { @@ -166,14 +165,14 @@ public Output statementId() { * */ @Export(name="statementIdPrefix", refs={String.class}, tree="[0]") - private Output statementIdPrefix; + private Output statementIdPrefix; /** * @return A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statement_id`. * */ - public Output> statementIdPrefix() { - return Codegen.optional(this.statementIdPrefix); + public Output statementIdPrefix() { + return this.statementIdPrefix; } /** diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermissionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermissionArgs.java index c8474e46456..a6dc305208b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermissionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SigningProfilePermissionArgs.java @@ -16,14 +16,14 @@ public final class SigningProfilePermissionArgs extends com.pulumi.resources.Res public static final SigningProfilePermissionArgs Empty = new SigningProfilePermissionArgs(); /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ @Import(name="action", required=true) private Output action; /** - * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ public Output action() { @@ -135,7 +135,7 @@ public Builder(SigningProfilePermissionArgs defaults) { } /** - * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * * @return builder * @@ -146,7 +146,7 @@ public Builder action(Output action) { } /** - * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/inputs/SigningProfilePermissionState.java b/sdk/java/src/main/java/com/pulumi/aws/signer/inputs/SigningProfilePermissionState.java index 792119ce94e..1484bdceba4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/inputs/SigningProfilePermissionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/inputs/SigningProfilePermissionState.java @@ -16,14 +16,14 @@ public final class SigningProfilePermissionState extends com.pulumi.resources.Re public static final SigningProfilePermissionState Empty = new SigningProfilePermissionState(); /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ @Import(name="action") private @Nullable Output action; /** - * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @return An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * */ public Optional> action() { @@ -135,7 +135,7 @@ public Builder(SigningProfilePermissionState defaults) { } /** - * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * * @return builder * @@ -146,7 +146,7 @@ public Builder action(@Nullable Output action) { } /** - * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * @param action An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.java index 179558fbcf9..6544a69b206 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementByteMatchStatementFieldToMatchArgs(RuleGroupRuleSt this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeade return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..1324de4448c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java index 7d253787050..b6b8c6b352c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchState this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..a7095a68490 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java index c04a0e6dd61..8cbd60a7072 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStat this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..c5f79391b16 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java index 2404fcfc4b7..2b254ffe7e7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSe this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..b4d4a1b2d76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java index 959e8c5aeee..8d12c11370f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..b946c010de8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java index 57633b44081..13709569732 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..404544eda57 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java index fe4b24a571b..f51364a16cf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatem this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..67908bb3bb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.java index 7e7ae40f7f6..0d3abab611d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRegexMatchStatementFieldToMatchArgs(RuleGroupRuleS this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHead return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..f01da3af7aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java index 20a6d5bda73..91e5a3d1442 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs( this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementRegexPatternSetReferenceStatementFi return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..a153b3dfb75 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.java index c2a7a4f18f5..0b4f85cbbc1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchArgs(RuleGroupR this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementSizeConstraintStatementFieldToMatch return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..05b8af1cf56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.java index e707e608c63..e9355a70274 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs(RuleGroupRuleSt this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeade return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..7d69467b6c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.java index 9bee1f8c29f..e49192a9b5a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,13 @@ public Optional ja3Fingerprint; + + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See JSON Body for details. * @@ -182,6 +190,7 @@ private RuleGroupRuleStatementXssMatchStatementFieldToMatchArgs(RuleGroupRuleSta this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +311,15 @@ public Builder headers(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader return headers(List.of(headers)); } + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + public Builder ja3Fingerprint(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See JSON Body for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..3a1d92d783b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty = new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.java index 22b69166caa..fe0b7b77966 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementByteMatchStatementFieldToMatchArgs(WebAclRuleStatemen this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementByteMatchStatementFieldToMatchHeaderAr return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..6032cf35e0d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java index c1cb6ae403d..91ac8cb5576 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchS this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..60728bd31e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java index c34d079e850..b62cd810a24 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatch this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..3247493e1d2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java index af49adc14e4..5683b76ae26 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatte this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..aee79203572 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java index ec9ef842db6..bb4b2924e01 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..1e64c67dced --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java index 3cbafcc6ced..be467d98963 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..4aad2d7b126 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java index d26108d9b20..f976cf1e795 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSt this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..ed5c6359f16 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java index d611f5fb870..ac844b643a9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatemen this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementBy return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..e19a824e12d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java index d84b0d3c13e..32ec7f0552c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStateme this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementRe return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..fbf898f10ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java index 3c72fa0730b..fce92242e0c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRe this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementRe return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..2b10dfa5b89 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java index 516657891db..cf05c6522c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementSi return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..5fead999150 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java index 2c331611955..f4b6dda5dc5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementSq return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..8da28724985 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java index 8550de36f03..eaeada2d798 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatement this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementXs return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..acf974dbd4c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.java index 9684813d72c..828c52e24e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRegexMatchStatementFieldToMatchArgs(WebAclRuleStateme this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderA return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..9350c2efeae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java index 54f436351ec..1cc3792d60e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchArgs(Web this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementRegexPatternSetReferenceStatementField return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..976eb78aec6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.java index 6ad63f873fc..58675cf054f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementSizeConstraintStatementFieldToMatchArgs(WebAclRuleSta this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementSizeConstraintStatementFieldToMatchHea return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..82417653cab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.java index 743919739c2..75b8d873ed8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementSqliMatchStatementFieldToMatchArgs(WebAclRuleStatemen this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderAr return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..edac66e6a36 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.java index 2a3dcd5b8b3..dcee04a2195 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchCookiesArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs; +import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchMethodArgs; import com.pulumi.aws.wafv2.inputs.WebAclRuleStatementXssMatchStatementFieldToMatchQueryStringArgs; @@ -85,6 +86,21 @@ public Optional ja3Fingerprint; + + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional> ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } + /** * Inspect the request body as JSON. See `json_body` for details. * @@ -182,6 +198,7 @@ private WebAclRuleStatementXssMatchStatementFieldToMatchArgs(WebAclRuleStatement this.body = $.body; this.cookies = $.cookies; this.headers = $.headers; + this.ja3Fingerprint = $.ja3Fingerprint; this.jsonBody = $.jsonBody; this.method = $.method; this.queryString = $.queryString; @@ -302,6 +319,27 @@ public Builder headers(WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArg return headers(List.of(headers)); } + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(@Nullable Output ja3Fingerprint) { + $.ja3Fingerprint = ja3Fingerprint; + return this; + } + + /** + * @param ja3Fingerprint Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + * @return builder + * + */ + public Builder ja3Fingerprint(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs ja3Fingerprint) { + return ja3Fingerprint(Output.of(ja3Fingerprint)); + } + /** * @param jsonBody Inspect the request body as JSON. See `json_body` for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.java new file mode 100644 index 00000000000..240efc23377 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs.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.wafv2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs extends com.pulumi.resources.ResourceArgs { + + public static final WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs Empty = new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + @Import(name="fallbackBehavior", required=true) + private Output fallbackBehavior; + + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public Output fallbackBehavior() { + return this.fallbackBehavior; + } + + private WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs() {} + + private WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $) { + this.fallbackBehavior = $.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs $; + + public Builder() { + $ = new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(); + } + + public Builder(WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs defaults) { + $ = new WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(Output fallbackBehavior) { + $.fallbackBehavior = fallbackBehavior; + return this; + } + + /** + * @param fallbackBehavior Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + * @return builder + * + */ + public Builder fallbackBehavior(String fallbackBehavior) { + return fallbackBehavior(Output.of(fallbackBehavior)); + } + + public WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs build() { + $.fallbackBehavior = Objects.requireNonNull($.fallbackBehavior, "expected parameter 'fallbackBehavior' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.java index 523399a2e2d..d5921a6f64b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementByteMatchStatementFieldToMatch { * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional coo public List headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementByteMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementByteMatchStatementFieldToMatchHeade return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementByteMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..a04e58bd929 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java index 43a62a375d4..ceada2a7876 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByt * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMat this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatem o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..00090df882c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java index bb36f6380a2..88b1678c784 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementReg * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMa this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchState o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..1e6f637b803 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java index c7c38ebbff2..31839f09e91 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementReg * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPa this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSet o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..47e2c8795c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java index f2d88c6dc1b..60db9a11f40 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSiz * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeCon this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintS o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..ee2adf0a50c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java index 8020dbcaf9d..f1620881850 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSql * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMat this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatem o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..46c897e9edf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java index 50c95a438ec..afeecbac4c9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXss * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatc this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRateBasedStatementScopeDownStatemen return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStateme o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..7dc7959ae34 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.java index a47966cd1b4..196b50ebab6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRegexMatchStatementFieldToMatch { * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional co public List headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRegexMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRegexMatchStatementFieldToMatchHead return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRegexMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..c9b9b6e2ee0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java index 99aa748432e..ba26f2e6410 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldT * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMat this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementRegexPatternSetReferenceStatementFi return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatch build o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..5bfe2add2b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.java index 9da1b9ef0e4..690f19e7d6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementSizeConstraintStatementFieldToMatch { * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementSizeConstraintStatementFieldToMatch default this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementSizeConstraintStatementFieldToMatch return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementSizeConstraintStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..59e9bd8b33c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.java index 817d7cc4de9..7e866f06f51 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementSqliMatchStatementFieldToMatch { * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional coo public List headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementSqliMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeade return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementSqliMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..d3e715e4b6f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.java index 6c69b81c86e..2e0d5ac4243 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchQueryString; @@ -41,6 +42,7 @@ public final class RuleGroupRuleStatementXssMatchStatementFieldToMatch { * */ private @Nullable List headers; + private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -101,6 +103,9 @@ public Optional cook public List headers() { return this.headers == null ? List.of() : this.headers; } + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See JSON Body for details. * @@ -157,6 +162,7 @@ public static final class Builder { private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchBody body; private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchMethod method; private @Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +176,7 @@ public Builder(RuleGroupRuleStatementXssMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +209,11 @@ public Builder headers(RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +249,7 @@ public RuleGroupRuleStatementXssMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..38fd187fb88 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.java index df46783ab9f..90daad249de 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementByteMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementByteMatchStatementFieldToMatch { * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional cookie public List headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementByteMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementByteMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementByteMatchStatementFieldToMatchHeader.. return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementByteMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..99e89a65d4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.java index 0a25898e5c7..6a5b35d3347 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByt this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchSt o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..ea24cdd9fbb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.java index e379bf8520f..fcb27ccbdb9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementReg this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchS o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..cdc2c79de4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java index 62f8c0431cb..8cb72e588a4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementReg this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatter o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..08fc29e3c6c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java index f736ca1c9e6..35fe0643dd7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSiz this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstra o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..eb163e62f00 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.java index d9791504f8a..faf5e2a2f2a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSql this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchSt o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..d58ca87c7c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.java index a3c1b0a379d..08059ce02e3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXss this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementManagedRuleGroupStatementScopeDownStat return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchSta o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..3be1d756443 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java index d58e9d91d04..6b2bfd15ac6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMa * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchS this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementBy return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatement o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..3d7790902dc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java index 3b67a01db51..ec65894c8f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexM * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatch this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementRe return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatemen o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..9b2d427d9c2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java index fec0a984f4b..eefc4bf8768 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexP * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatte this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementRe return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetRef o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..4478739172d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java index ff816fcfe5e..68c0b3b6b95 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeCo * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstr this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementSi return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStat o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..c67d1584856 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java index a1bb2663c9b..23266f5c1fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMa * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchS this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementSq return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..f9bd8dcbee3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java index 6ce2c9bd95a..61ea5649aab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMat * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchSt this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRateBasedStatementScopeDownStatementXs return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementF o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..94a61e0baad --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.java index 250525c0c01..a77f4d8bd6b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRegexMatchStatementFieldToMatch { * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional cooki public List headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRegexMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRegexMatchStatementFieldToMatchHeader. return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRegexMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..fb2132e7621 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java index d2ce44bc269..010685c6ead 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMa * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementRegexPatternSetReferenceStatementField return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatch build() o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..85d7a47a610 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.java index 6d51ad069bb..a678434737d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementSizeConstraintStatementFieldToMatch { * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional c public List headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementSizeConstraintStatementFieldToMatch defaults) this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementSizeConstraintStatementFieldToMatchHea return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementSizeConstraintStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..8f94d18f506 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.java index 34b719a2f78..b82c827485b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementSqliMatchStatementFieldToMatch { * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional cookie public List headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementSqliMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementSqliMatchStatementFieldToMatchHeader.. return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementSqliMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..f1bd86dda64 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.java index 68fa23c95de..b7c494ffb6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatch.java @@ -7,6 +7,7 @@ import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchCookies; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchHeader; +import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchMethod; import com.pulumi.aws.wafv2.outputs.WebAclRuleStatementXssMatchStatementFieldToMatchQueryString; @@ -41,6 +42,11 @@ public final class WebAclRuleStatementXssMatchStatementFieldToMatch { * */ private @Nullable List headers; + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -101,6 +107,13 @@ public Optional cookies public List headers() { return this.headers == null ? List.of() : this.headers; } + /** + * @return Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + * + */ + public Optional ja3Fingerprint() { + return Optional.ofNullable(this.ja3Fingerprint); + } /** * @return Inspect the request body as JSON. See `json_body` for details. * @@ -157,6 +170,7 @@ public static final class Builder { private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchBody body; private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchCookies cookies; private @Nullable List headers; + private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint; private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody jsonBody; private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchMethod method; private @Nullable WebAclRuleStatementXssMatchStatementFieldToMatchQueryString queryString; @@ -170,6 +184,7 @@ public Builder(WebAclRuleStatementXssMatchStatementFieldToMatch defaults) { this.body = defaults.body; this.cookies = defaults.cookies; this.headers = defaults.headers; + this.ja3Fingerprint = defaults.ja3Fingerprint; this.jsonBody = defaults.jsonBody; this.method = defaults.method; this.queryString = defaults.queryString; @@ -202,6 +217,11 @@ public Builder headers(WebAclRuleStatementXssMatchStatementFieldToMatchHeader... return headers(List.of(headers)); } @CustomType.Setter + public Builder ja3Fingerprint(@Nullable WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint ja3Fingerprint) { + this.ja3Fingerprint = ja3Fingerprint; + return this; + } + @CustomType.Setter public Builder jsonBody(@Nullable WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody jsonBody) { this.jsonBody = jsonBody; return this; @@ -237,6 +257,7 @@ public WebAclRuleStatementXssMatchStatementFieldToMatch build() { o.body = body; o.cookies = cookies; o.headers = headers; + o.ja3Fingerprint = ja3Fingerprint; o.jsonBody = jsonBody; o.method = method; o.queryString = queryString; diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java new file mode 100644 index 00000000000..6f88235fd9e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.wafv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + private String fallbackBehavior; + + private WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint() {} + /** + * @return Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + * + */ + public String fallbackBehavior() { + return this.fallbackBehavior; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fallbackBehavior; + public Builder() {} + public Builder(WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint defaults) { + Objects.requireNonNull(defaults); + this.fallbackBehavior = defaults.fallbackBehavior; + } + + @CustomType.Setter + public Builder fallbackBehavior(String fallbackBehavior) { + this.fallbackBehavior = Objects.requireNonNull(fallbackBehavior); + return this; + } + public WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint build() { + final var o = new WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(); + o.fallbackBehavior = fallbackBehavior; + return o; + } + } +} diff --git a/sdk/nodejs/alb/loadBalancer.ts b/sdk/nodejs/alb/loadBalancer.ts index e5cfa3f5221..4cdab8fad99 100644 --- a/sdk/nodejs/alb/loadBalancer.ts +++ b/sdk/nodejs/alb/loadBalancer.ts @@ -154,6 +154,10 @@ export class LoadBalancer extends pulumi.CustomResource { * The DNS name of the load balancer. */ public /*out*/ readonly dnsName!: pulumi.Output; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + public readonly dnsRecordClientRoutingPolicy!: pulumi.Output; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ @@ -207,7 +211,7 @@ export class LoadBalancer extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. */ @@ -265,6 +269,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["customerOwnedIpv4Pool"] = state ? state.customerOwnedIpv4Pool : undefined; resourceInputs["desyncMitigationMode"] = state ? state.desyncMitigationMode : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; + resourceInputs["dnsRecordClientRoutingPolicy"] = state ? state.dnsRecordClientRoutingPolicy : undefined; resourceInputs["dropInvalidHeaderFields"] = state ? state.dropInvalidHeaderFields : undefined; resourceInputs["enableCrossZoneLoadBalancing"] = state ? state.enableCrossZoneLoadBalancing : undefined; resourceInputs["enableDeletionProtection"] = state ? state.enableDeletionProtection : undefined; @@ -292,6 +297,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["accessLogs"] = args ? args.accessLogs : undefined; resourceInputs["customerOwnedIpv4Pool"] = args ? args.customerOwnedIpv4Pool : undefined; resourceInputs["desyncMitigationMode"] = args ? args.desyncMitigationMode : undefined; + resourceInputs["dnsRecordClientRoutingPolicy"] = args ? args.dnsRecordClientRoutingPolicy : undefined; resourceInputs["dropInvalidHeaderFields"] = args ? args.dropInvalidHeaderFields : undefined; resourceInputs["enableCrossZoneLoadBalancing"] = args ? args.enableCrossZoneLoadBalancing : undefined; resourceInputs["enableDeletionProtection"] = args ? args.enableDeletionProtection : undefined; @@ -355,6 +361,10 @@ export interface LoadBalancerState { * The DNS name of the load balancer. */ dnsName?: pulumi.Input; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + dnsRecordClientRoutingPolicy?: pulumi.Input; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ @@ -464,6 +474,10 @@ export interface LoadBalancerArgs { * Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. */ desyncMitigationMode?: pulumi.Input; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + dnsRecordClientRoutingPolicy?: pulumi.Input; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ diff --git a/sdk/nodejs/alb/targetGroup.ts b/sdk/nodejs/alb/targetGroup.ts index 35d56ad0a97..2070c36d22c 100644 --- a/sdk/nodejs/alb/targetGroup.ts +++ b/sdk/nodejs/alb/targetGroup.ts @@ -61,6 +61,21 @@ import * as utilities from "../utilities"; * vpcId: aws_vpc.main.id, * }); * ``` + * ### Target group with unhealthy connection termination disabled + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const tcp_example = new aws.lb.TargetGroup("tcp-example", { + * port: 25, + * protocol: "TCP", + * vpcId: aws_vpc.main.id, + * targetHealthStates: [{ + * enableUnhealthyConnectionTermination: false, + * }], + * }); + * ``` * * ## Import * @@ -109,7 +124,7 @@ export class TargetGroup extends pulumi.CustomResource { /** * Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. */ - public readonly connectionTermination!: pulumi.Output; + public readonly connectionTermination!: pulumi.Output; /** * Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. */ @@ -141,7 +156,7 @@ export class TargetGroup extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. */ @@ -184,6 +199,10 @@ export class TargetGroup extends pulumi.CustomResource { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ public readonly targetFailovers!: pulumi.Output; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + public readonly targetHealthStates!: pulumi.Output; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -235,6 +254,7 @@ export class TargetGroup extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["targetFailovers"] = state ? state.targetFailovers : undefined; + resourceInputs["targetHealthStates"] = state ? state.targetHealthStates : undefined; resourceInputs["targetType"] = state ? state.targetType : undefined; resourceInputs["vpcId"] = state ? state.vpcId : undefined; } else { @@ -257,6 +277,7 @@ export class TargetGroup extends pulumi.CustomResource { resourceInputs["stickiness"] = args ? args.stickiness : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["targetFailovers"] = args ? args.targetFailovers : undefined; + resourceInputs["targetHealthStates"] = args ? args.targetHealthStates : undefined; resourceInputs["targetType"] = args ? args.targetType : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -362,6 +383,10 @@ export interface TargetGroupState { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ targetFailovers?: pulumi.Input[]>; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + targetHealthStates?: pulumi.Input[]>; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -456,6 +481,10 @@ export interface TargetGroupArgs { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ targetFailovers?: pulumi.Input[]>; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + targetHealthStates?: pulumi.Input[]>; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/nodejs/autoscaling/group.ts b/sdk/nodejs/autoscaling/group.ts index 95b68e1f1c1..98a70ccf5b5 100644 --- a/sdk/nodejs/autoscaling/group.ts +++ b/sdk/nodejs/autoscaling/group.ts @@ -447,7 +447,7 @@ export class Group extends pulumi.CustomResource { /** * Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. */ - public readonly launchTemplate!: pulumi.Output; + public readonly launchTemplate!: pulumi.Output; /** * List of elastic load balancer names to add to the autoscaling * group names. Only valid for classic load balancers. For ALBs, use `targetGroupArns` instead. To remove all load balancer attachments an empty list should be specified. @@ -480,7 +480,7 @@ export class Group extends pulumi.CustomResource { /** * Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. */ - public readonly mixedInstancesPolicy!: pulumi.Output; + public readonly mixedInstancesPolicy!: pulumi.Output; /** * Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with `namePrefix`. */ diff --git a/sdk/nodejs/cfg/recorder.ts b/sdk/nodejs/cfg/recorder.ts index 119b84de47c..169665ab08e 100644 --- a/sdk/nodejs/cfg/recorder.ts +++ b/sdk/nodejs/cfg/recorder.ts @@ -13,6 +13,7 @@ import * as utilities from "../utilities"; * > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `aws.cfg.RecorderStatus` is a separate resource. * * ## Example Usage + * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -31,6 +32,25 @@ import * as utilities from "../utilities"; * const role = new aws.iam.Role("role", {assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json)}); * const foo = new aws.cfg.Recorder("foo", {roleArn: role.arn}); * ``` + * ### Exclude Resources Types Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const foo = new aws.cfg.Recorder("foo", { + * roleArn: aws_iam_role.r.arn, + * recordingGroup: { + * allSupported: false, + * exclusionByResourceTypes: [{ + * resourceTypes: ["AWS::EC2::Instance"], + * }], + * recordingStrategies: [{ + * useOnly: "EXCLUSION_BY_RESOURCE_TYPES", + * }], + * }, + * }); + * ``` * * ## Import * diff --git a/sdk/nodejs/cfg/rule.ts b/sdk/nodejs/cfg/rule.ts index 8b1917c4497..b38992f664a 100644 --- a/sdk/nodejs/cfg/rule.ts +++ b/sdk/nodejs/cfg/rule.ts @@ -151,6 +151,10 @@ export class Rule extends pulumi.CustomResource { * Description of the rule */ public readonly description!: pulumi.Output; + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + */ + public readonly evaluationModes!: pulumi.Output; /** * A string in JSON format that is passed to the AWS Config rule Lambda function. */ @@ -201,6 +205,7 @@ export class Rule extends pulumi.CustomResource { const state = argsOrState as RuleState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["evaluationModes"] = state ? state.evaluationModes : undefined; resourceInputs["inputParameters"] = state ? state.inputParameters : undefined; resourceInputs["maximumExecutionFrequency"] = state ? state.maximumExecutionFrequency : undefined; resourceInputs["name"] = state ? state.name : undefined; @@ -215,6 +220,7 @@ export class Rule extends pulumi.CustomResource { throw new Error("Missing required property 'source'"); } resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["evaluationModes"] = args ? args.evaluationModes : undefined; resourceInputs["inputParameters"] = args ? args.inputParameters : undefined; resourceInputs["maximumExecutionFrequency"] = args ? args.maximumExecutionFrequency : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -244,6 +250,10 @@ export interface RuleState { * Description of the rule */ description?: pulumi.Input; + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + */ + evaluationModes?: pulumi.Input[]>; /** * A string in JSON format that is passed to the AWS Config rule Lambda function. */ @@ -288,6 +298,10 @@ export interface RuleArgs { * Description of the rule */ description?: pulumi.Input; + /** + * The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + */ + evaluationModes?: pulumi.Input[]>; /** * A string in JSON format that is passed to the AWS Config rule Lambda function. */ diff --git a/sdk/nodejs/ec2/vpcIpamPoolCidr.ts b/sdk/nodejs/ec2/vpcIpamPoolCidr.ts index 96c3c50f8d2..77cda8a3a62 100644 --- a/sdk/nodejs/ec2/vpcIpamPoolCidr.ts +++ b/sdk/nodejs/ec2/vpcIpamPoolCidr.ts @@ -15,6 +15,54 @@ import * as utilities from "../utilities"; * > **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in * either a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role. * + * ## Example Usage + * + * Basic usage: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getRegion({}); + * const exampleVpcIpam = new aws.ec2.VpcIpam("exampleVpcIpam", {operatingRegions: [{ + * regionName: current.then(current => current.name), + * }]}); + * const exampleVpcIpamPool = new aws.ec2.VpcIpamPool("exampleVpcIpamPool", { + * addressFamily: "ipv4", + * ipamScopeId: exampleVpcIpam.privateDefaultScopeId, + * locale: current.then(current => current.name), + * }); + * const exampleVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("exampleVpcIpamPoolCidr", { + * ipamPoolId: exampleVpcIpamPool.id, + * cidr: "172.20.0.0/16", + * }); + * ``` + * + * Provision Public IPv6 Pool CIDRs: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getRegion({}); + * const example = new aws.ec2.VpcIpam("example", {operatingRegions: [{ + * regionName: current.then(current => current.name), + * }]}); + * const ipv6TestPublicVpcIpamPool = new aws.ec2.VpcIpamPool("ipv6TestPublicVpcIpamPool", { + * addressFamily: "ipv6", + * ipamScopeId: example.publicDefaultScopeId, + * locale: "us-east-1", + * description: "public ipv6", + * publiclyAdvertisable: false, + * publicIpSource: "amazon", + * awsService: "ec2", + * }); + * const ipv6TestPublicVpcIpamPoolCidr = new aws.ec2.VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", { + * ipamPoolId: ipv6TestPublicVpcIpamPool.id, + * netmaskLength: 52, + * }); + * ``` + * * ## Import * * Using `pulumi import`, import IPAMs using the `_`. For example: diff --git a/sdk/nodejs/ec2/vpcIpv6CidrBlockAssociation.ts b/sdk/nodejs/ec2/vpcIpv6CidrBlockAssociation.ts index 81b9c4d955f..e6a797e1252 100644 --- a/sdk/nodejs/ec2/vpcIpv6CidrBlockAssociation.ts +++ b/sdk/nodejs/ec2/vpcIpv6CidrBlockAssociation.ts @@ -59,7 +59,7 @@ export class VpcIpv6CidrBlockAssociation extends pulumi.CustomResource { } /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. */ public readonly ipv6CidrBlock!: pulumi.Output; /** @@ -115,7 +115,7 @@ export class VpcIpv6CidrBlockAssociation extends pulumi.CustomResource { */ export interface VpcIpv6CidrBlockAssociationState { /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. */ ipv6CidrBlock?: pulumi.Input; /** @@ -137,7 +137,7 @@ export interface VpcIpv6CidrBlockAssociationState { */ export interface VpcIpv6CidrBlockAssociationArgs { /** - * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and he IPAM pool does not have `allocationDefaultNetmask` set. + * The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6NetmaskLength`. This parameter is required if `ipv6NetmaskLength` is not set and the IPAM pool does not have `allocationDefaultNetmask` set. */ ipv6CidrBlock?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2clientvpn/endpoint.ts b/sdk/nodejs/ec2clientvpn/endpoint.ts index 8ed697609bd..1acedba7736 100644 --- a/sdk/nodejs/ec2clientvpn/endpoint.ts +++ b/sdk/nodejs/ec2clientvpn/endpoint.ts @@ -113,6 +113,10 @@ export class Endpoint extends pulumi.CustomResource { * Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. */ public readonly selfServicePortal!: pulumi.Output; + /** + * The URL of the self-service portal. + */ + public /*out*/ readonly selfServicePortalUrl!: pulumi.Output; /** * The ARN of the ACM server certificate. */ @@ -172,6 +176,7 @@ export class Endpoint extends pulumi.CustomResource { resourceInputs["dnsServers"] = state ? state.dnsServers : undefined; resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; resourceInputs["selfServicePortal"] = state ? state.selfServicePortal : undefined; + resourceInputs["selfServicePortalUrl"] = state ? state.selfServicePortalUrl : undefined; resourceInputs["serverCertificateArn"] = state ? state.serverCertificateArn : undefined; resourceInputs["sessionTimeoutHours"] = state ? state.sessionTimeoutHours : undefined; resourceInputs["splitTunnel"] = state ? state.splitTunnel : undefined; @@ -212,6 +217,7 @@ export class Endpoint extends pulumi.CustomResource { resourceInputs["vpnPort"] = args ? args.vpnPort : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["dnsName"] = undefined /*out*/; + resourceInputs["selfServicePortalUrl"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -269,6 +275,10 @@ export interface EndpointState { * Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. */ selfServicePortal?: pulumi.Input; + /** + * The URL of the self-service portal. + */ + selfServicePortalUrl?: pulumi.Input; /** * The ARN of the ACM server certificate. */ diff --git a/sdk/nodejs/ec2clientvpn/getEndpoint.ts b/sdk/nodejs/ec2clientvpn/getEndpoint.ts index 883f9d98e11..835d076842a 100644 --- a/sdk/nodejs/ec2clientvpn/getEndpoint.ts +++ b/sdk/nodejs/ec2clientvpn/getEndpoint.ts @@ -118,6 +118,10 @@ export interface GetEndpointResult { * Whether the self-service portal for the Client VPN endpoint is enabled. */ readonly selfServicePortal: string; + /** + * The URL of the self-service portal. + */ + readonly selfServicePortalUrl: string; /** * The ARN of the server certificate. */ diff --git a/sdk/nodejs/elasticache/cluster.ts b/sdk/nodejs/elasticache/cluster.ts index 9a80982488f..4cf413b0b09 100644 --- a/sdk/nodejs/elasticache/cluster.ts +++ b/sdk/nodejs/elasticache/cluster.ts @@ -183,7 +183,7 @@ export class Cluster extends pulumi.CustomResource { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` */ public readonly engineVersion!: pulumi.Output; /** @@ -251,7 +251,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly replicationGroupId!: pulumi.Output; /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` */ public readonly securityGroupIds!: pulumi.Output; /** @@ -271,7 +271,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly snapshotWindow!: pulumi.Output; /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` */ public readonly subnetGroupName!: pulumi.Output; /** @@ -436,7 +436,7 @@ export interface ClusterState { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` */ engineVersion?: pulumi.Input; /** @@ -504,7 +504,7 @@ export interface ClusterState { */ replicationGroupId?: pulumi.Input; /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` */ securityGroupIds?: pulumi.Input[]>; /** @@ -524,7 +524,7 @@ export interface ClusterState { */ snapshotWindow?: pulumi.Input; /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` */ subnetGroupName?: pulumi.Input; /** @@ -581,7 +581,7 @@ export interface ClusterArgs { * When the version is 6, the major and minor version can be set, e.g., `6.2`, * or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. * Otherwise, specify the full version desired, e.g., `5.0.6`. - * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. + * The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` */ engineVersion?: pulumi.Input; /** @@ -645,7 +645,7 @@ export interface ClusterArgs { */ replicationGroupId?: pulumi.Input; /** - * One or more VPC security groups associated with the cache cluster + * One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` */ securityGroupIds?: pulumi.Input[]>; /** @@ -665,7 +665,7 @@ export interface ClusterArgs { */ snapshotWindow?: pulumi.Input; /** - * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + * Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` */ subnetGroupName?: pulumi.Input; /** diff --git a/sdk/nodejs/elasticache/replicationGroup.ts b/sdk/nodejs/elasticache/replicationGroup.ts index 9dd141d96e5..87efc8b92f4 100644 --- a/sdk/nodejs/elasticache/replicationGroup.ts +++ b/sdk/nodejs/elasticache/replicationGroup.ts @@ -265,6 +265,10 @@ export class ReplicationGroup extends pulumi.CustomResource { * The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. */ public readonly globalReplicationGroupId!: pulumi.Output; + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + */ + public readonly ipDiscovery!: pulumi.Output; /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. */ @@ -285,6 +289,10 @@ export class ReplicationGroup extends pulumi.CustomResource { * Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. */ public readonly multiAzEnabled!: pulumi.Output; + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + */ + public readonly networkType!: pulumi.Output; /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. */ @@ -335,11 +343,11 @@ export class ReplicationGroup extends pulumi.CustomResource { */ public readonly replicationGroupId!: pulumi.Output; /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ public readonly securityGroupIds!: pulumi.Output; /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ public readonly securityGroupNames!: pulumi.Output; /** @@ -409,11 +417,13 @@ export class ReplicationGroup extends pulumi.CustomResource { resourceInputs["engineVersionActual"] = state ? state.engineVersionActual : undefined; resourceInputs["finalSnapshotIdentifier"] = state ? state.finalSnapshotIdentifier : undefined; resourceInputs["globalReplicationGroupId"] = state ? state.globalReplicationGroupId : undefined; + resourceInputs["ipDiscovery"] = state ? state.ipDiscovery : undefined; resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; resourceInputs["logDeliveryConfigurations"] = state ? state.logDeliveryConfigurations : undefined; resourceInputs["maintenanceWindow"] = state ? state.maintenanceWindow : undefined; resourceInputs["memberClusters"] = state ? state.memberClusters : undefined; resourceInputs["multiAzEnabled"] = state ? state.multiAzEnabled : undefined; + resourceInputs["networkType"] = state ? state.networkType : undefined; resourceInputs["nodeType"] = state ? state.nodeType : undefined; resourceInputs["notificationTopicArn"] = state ? state.notificationTopicArn : undefined; resourceInputs["numCacheClusters"] = state ? state.numCacheClusters : undefined; @@ -449,10 +459,12 @@ export class ReplicationGroup extends pulumi.CustomResource { resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; resourceInputs["finalSnapshotIdentifier"] = args ? args.finalSnapshotIdentifier : undefined; resourceInputs["globalReplicationGroupId"] = args ? args.globalReplicationGroupId : undefined; + resourceInputs["ipDiscovery"] = args ? args.ipDiscovery : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["logDeliveryConfigurations"] = args ? args.logDeliveryConfigurations : undefined; resourceInputs["maintenanceWindow"] = args ? args.maintenanceWindow : undefined; resourceInputs["multiAzEnabled"] = args ? args.multiAzEnabled : undefined; + resourceInputs["networkType"] = args ? args.networkType : undefined; resourceInputs["nodeType"] = args ? args.nodeType : undefined; resourceInputs["notificationTopicArn"] = args ? args.notificationTopicArn : undefined; resourceInputs["numCacheClusters"] = args ? args.numCacheClusters : undefined; @@ -559,6 +571,10 @@ export interface ReplicationGroupState { * The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. */ globalReplicationGroupId?: pulumi.Input; + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + */ + ipDiscovery?: pulumi.Input; /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. */ @@ -579,6 +595,10 @@ export interface ReplicationGroupState { * Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. */ multiAzEnabled?: pulumi.Input; + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + */ + networkType?: pulumi.Input; /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. */ @@ -629,11 +649,11 @@ export interface ReplicationGroupState { */ replicationGroupId?: pulumi.Input; /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ securityGroupIds?: pulumi.Input[]>; /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ securityGroupNames?: pulumi.Input[]>; /** @@ -731,6 +751,10 @@ export interface ReplicationGroupArgs { * The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set. */ globalReplicationGroupId?: pulumi.Input; + /** + * The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + */ + ipDiscovery?: pulumi.Input; /** * The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. */ @@ -747,6 +771,10 @@ export interface ReplicationGroupArgs { * Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. */ multiAzEnabled?: pulumi.Input; + /** + * The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`. + */ + networkType?: pulumi.Input; /** * Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. */ @@ -789,11 +817,11 @@ export interface ReplicationGroupArgs { */ replicationGroupId?: pulumi.Input; /** - * One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + * IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ securityGroupIds?: pulumi.Input[]>; /** - * List of cache security group names to associate with this replication group. + * Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. */ securityGroupNames?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/elasticsearch/index.ts b/sdk/nodejs/elasticsearch/index.ts index 033daa605b8..80a324e1b7d 100644 --- a/sdk/nodejs/elasticsearch/index.ts +++ b/sdk/nodejs/elasticsearch/index.ts @@ -25,6 +25,11 @@ export const getDomain: typeof import("./getDomain").getDomain = null as any; export const getDomainOutput: typeof import("./getDomain").getDomainOutput = null as any; utilities.lazyLoad(exports, ["getDomain","getDomainOutput"], () => require("./getDomain")); +export { VpcEndpointArgs, VpcEndpointState } from "./vpcEndpoint"; +export type VpcEndpoint = import("./vpcEndpoint").VpcEndpoint; +export const VpcEndpoint: typeof import("./vpcEndpoint").VpcEndpoint = null as any; +utilities.lazyLoad(exports, ["VpcEndpoint"], () => require("./vpcEndpoint")); + const _module = { version: utilities.getVersion(), @@ -36,6 +41,8 @@ const _module = { return new DomainPolicy(name, undefined, { urn }) case "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": return new DomainSamlOptions(name, undefined, { urn }) + case "aws:elasticsearch/vpcEndpoint:VpcEndpoint": + return new VpcEndpoint(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -44,3 +51,4 @@ const _module = { pulumi.runtime.registerResourceModule("aws", "elasticsearch/domain", _module) pulumi.runtime.registerResourceModule("aws", "elasticsearch/domainPolicy", _module) pulumi.runtime.registerResourceModule("aws", "elasticsearch/domainSamlOptions", _module) +pulumi.runtime.registerResourceModule("aws", "elasticsearch/vpcEndpoint", _module) diff --git a/sdk/nodejs/elasticsearch/vpcEndpoint.ts b/sdk/nodejs/elasticsearch/vpcEndpoint.ts new file mode 100644 index 00000000000..5c0d4b9faef --- /dev/null +++ b/sdk/nodejs/elasticsearch/vpcEndpoint.ts @@ -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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const foo = new aws.elasticsearch.VpcEndpoint("foo", { + * domainArn: aws_elasticsearch_domain.domain_1.arn, + * vpcOptions: { + * securityGroupIds: [ + * aws_security_group.test.id, + * aws_security_group.test2.id, + * ], + * subnetIds: [ + * aws_subnet.test.id, + * aws_subnet.test2.id, + * ], + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: + * + * ```sh + * $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id + * ``` + */ +export class VpcEndpoint extends pulumi.CustomResource { + /** + * Get an existing VpcEndpoint 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?: VpcEndpointState, opts?: pulumi.CustomResourceOptions): VpcEndpoint { + return new VpcEndpoint(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:elasticsearch/vpcEndpoint:VpcEndpoint'; + + /** + * Returns true if the given object is an instance of VpcEndpoint. 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 VpcEndpoint { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcEndpoint.__pulumiType; + } + + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + */ + public readonly domainArn!: pulumi.Output; + /** + * The connection endpoint ID for connecting to the domain. + */ + public /*out*/ readonly endpoint!: pulumi.Output; + /** + * Options to specify the subnets and security groups for the endpoint. + */ + public readonly vpcOptions!: pulumi.Output; + + /** + * Create a VpcEndpoint 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: VpcEndpointArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcEndpointArgs | VpcEndpointState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcEndpointState | undefined; + resourceInputs["domainArn"] = state ? state.domainArn : undefined; + resourceInputs["endpoint"] = state ? state.endpoint : undefined; + resourceInputs["vpcOptions"] = state ? state.vpcOptions : undefined; + } else { + const args = argsOrState as VpcEndpointArgs | undefined; + if ((!args || args.domainArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'domainArn'"); + } + if ((!args || args.vpcOptions === undefined) && !opts.urn) { + throw new Error("Missing required property 'vpcOptions'"); + } + resourceInputs["domainArn"] = args ? args.domainArn : undefined; + resourceInputs["vpcOptions"] = args ? args.vpcOptions : undefined; + resourceInputs["endpoint"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcEndpoint.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcEndpoint resources. + */ +export interface VpcEndpointState { + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + */ + domainArn?: pulumi.Input; + /** + * The connection endpoint ID for connecting to the domain. + */ + endpoint?: pulumi.Input; + /** + * Options to specify the subnets and security groups for the endpoint. + */ + vpcOptions?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcEndpoint resource. + */ +export interface VpcEndpointArgs { + /** + * Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + */ + domainArn: pulumi.Input; + /** + * Options to specify the subnets and security groups for the endpoint. + */ + vpcOptions: pulumi.Input; +} diff --git a/sdk/nodejs/elb/loadBalancer.ts b/sdk/nodejs/elb/loadBalancer.ts index 1f501aac318..a13573e8923 100644 --- a/sdk/nodejs/elb/loadBalancer.ts +++ b/sdk/nodejs/elb/loadBalancer.ts @@ -173,7 +173,7 @@ export class LoadBalancer extends pulumi.CustomResource { * Creates a unique name beginning with the specified * prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * A list of security group IDs to assign to the ELB. * Only valid if creating an ELB within a VPC diff --git a/sdk/nodejs/emr/securityConfiguration.ts b/sdk/nodejs/emr/securityConfiguration.ts index 5b2a9071412..1142d6eefe4 100644 --- a/sdk/nodejs/emr/securityConfiguration.ts +++ b/sdk/nodejs/emr/securityConfiguration.ts @@ -84,7 +84,7 @@ export class SecurityConfiguration extends pulumi.CustomResource { * Creates a unique name beginning with the specified * prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Create a SecurityConfiguration resource with the given unique name, arguments, and options. diff --git a/sdk/nodejs/glue/crawler.ts b/sdk/nodejs/glue/crawler.ts index b645c03ee4c..d33da5b095d 100644 --- a/sdk/nodejs/glue/crawler.ts +++ b/sdk/nodejs/glue/crawler.ts @@ -188,11 +188,11 @@ export class Crawler extends pulumi.CustomResource { */ public readonly dynamodbTargets!: pulumi.Output; /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. */ public readonly hudiTargets!: pulumi.Output; /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. */ public readonly icebergTargets!: pulumi.Output; /** @@ -208,7 +208,7 @@ export class Crawler extends pulumi.CustomResource { */ public readonly lineageConfiguration!: pulumi.Output; /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. */ public readonly mongodbTargets!: pulumi.Output; /** @@ -224,7 +224,7 @@ export class Crawler extends pulumi.CustomResource { */ public readonly role!: pulumi.Output; /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. */ public readonly s3Targets!: pulumi.Output; /** @@ -365,11 +365,11 @@ export interface CrawlerState { */ dynamodbTargets?: pulumi.Input[]>; /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. */ hudiTargets?: pulumi.Input[]>; /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. */ icebergTargets?: pulumi.Input[]>; /** @@ -385,7 +385,7 @@ export interface CrawlerState { */ lineageConfiguration?: pulumi.Input; /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. */ mongodbTargets?: pulumi.Input[]>; /** @@ -401,7 +401,7 @@ export interface CrawlerState { */ role?: pulumi.Input; /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. */ s3Targets?: pulumi.Input[]>; /** @@ -462,11 +462,11 @@ export interface CrawlerArgs { */ dynamodbTargets?: pulumi.Input[]>; /** - * List nested Hudi target arguments. See Iceberg Target below. + * List of nested Hudi target arguments. See Iceberg Target below. */ hudiTargets?: pulumi.Input[]>; /** - * List nested Iceberg target arguments. See Iceberg Target below. + * List of nested Iceberg target arguments. See Iceberg Target below. */ icebergTargets?: pulumi.Input[]>; /** @@ -482,7 +482,7 @@ export interface CrawlerArgs { */ lineageConfiguration?: pulumi.Input; /** - * List nested MongoDB target arguments. See MongoDB Target below. + * List of nested MongoDB target arguments. See MongoDB Target below. */ mongodbTargets?: pulumi.Input[]>; /** @@ -498,7 +498,7 @@ export interface CrawlerArgs { */ role: pulumi.Input; /** - * List nested Amazon S3 target arguments. See S3 Target below. + * List of nested Amazon S3 target arguments. See S3 Target below. */ s3Targets?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/iam/groupPolicy.ts b/sdk/nodejs/iam/groupPolicy.ts index b8d7c2533f5..ea423671d0f 100644 --- a/sdk/nodejs/iam/groupPolicy.ts +++ b/sdk/nodejs/iam/groupPolicy.ts @@ -78,7 +78,7 @@ export class GroupPolicy extends pulumi.CustomResource { * Creates a unique name beginning with the specified * prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * The policy document. This is a JSON formatted string. */ diff --git a/sdk/nodejs/iam/rolePolicy.ts b/sdk/nodejs/iam/rolePolicy.ts index 9045a66071e..21ecbed73dd 100644 --- a/sdk/nodejs/iam/rolePolicy.ts +++ b/sdk/nodejs/iam/rolePolicy.ts @@ -86,7 +86,7 @@ export class RolePolicy extends pulumi.CustomResource { * Creates a unique name beginning with the specified * prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * The inline policy document. This is a JSON formatted string. For more information about building IAM policy documents with the provider, see the AWS IAM Policy Document Guide */ diff --git a/sdk/nodejs/iam/userPolicy.ts b/sdk/nodejs/iam/userPolicy.ts index c0714a42d49..ce93b2eb957 100644 --- a/sdk/nodejs/iam/userPolicy.ts +++ b/sdk/nodejs/iam/userPolicy.ts @@ -73,7 +73,7 @@ export class UserPolicy extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * The policy document. This is a JSON formatted string. */ diff --git a/sdk/nodejs/imagebuilder/getImage.ts b/sdk/nodejs/imagebuilder/getImage.ts index 3ec74a92cc9..c6f8cb80ef0 100644 --- a/sdk/nodejs/imagebuilder/getImage.ts +++ b/sdk/nodejs/imagebuilder/getImage.ts @@ -78,6 +78,10 @@ export interface GetImageResult { * ARN of the image recipe. */ readonly imageRecipeArn: string; + /** + * List of an object with image scanning configuration fields. + */ + readonly imageScanningConfigurations: outputs.imagebuilder.GetImageImageScanningConfiguration[]; /** * List of an object with image tests configuration. */ diff --git a/sdk/nodejs/imagebuilder/image.ts b/sdk/nodejs/imagebuilder/image.ts index 224c007fad7..9ddb89e4e6a 100644 --- a/sdk/nodejs/imagebuilder/image.ts +++ b/sdk/nodejs/imagebuilder/image.ts @@ -83,6 +83,10 @@ export class Image extends pulumi.CustomResource { * Amazon Resource Name (ARN) of the image recipe. */ public readonly imageRecipeArn!: pulumi.Output; + /** + * Configuration block with image scanning configuration. Detailed below. + */ + public readonly imageScanningConfiguration!: pulumi.Output; /** * Configuration block with image tests configuration. Detailed below. */ @@ -143,6 +147,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["distributionConfigurationArn"] = state ? state.distributionConfigurationArn : undefined; resourceInputs["enhancedImageMetadataEnabled"] = state ? state.enhancedImageMetadataEnabled : undefined; resourceInputs["imageRecipeArn"] = state ? state.imageRecipeArn : undefined; + resourceInputs["imageScanningConfiguration"] = state ? state.imageScanningConfiguration : undefined; resourceInputs["imageTestsConfiguration"] = state ? state.imageTestsConfiguration : undefined; resourceInputs["infrastructureConfigurationArn"] = state ? state.infrastructureConfigurationArn : undefined; resourceInputs["name"] = state ? state.name : undefined; @@ -161,6 +166,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["distributionConfigurationArn"] = args ? args.distributionConfigurationArn : undefined; resourceInputs["enhancedImageMetadataEnabled"] = args ? args.enhancedImageMetadataEnabled : undefined; resourceInputs["imageRecipeArn"] = args ? args.imageRecipeArn : undefined; + resourceInputs["imageScanningConfiguration"] = args ? args.imageScanningConfiguration : undefined; resourceInputs["imageTestsConfiguration"] = args ? args.imageTestsConfiguration : undefined; resourceInputs["infrastructureConfigurationArn"] = args ? args.infrastructureConfigurationArn : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -208,6 +214,10 @@ export interface ImageState { * Amazon Resource Name (ARN) of the image recipe. */ imageRecipeArn?: pulumi.Input; + /** + * Configuration block with image scanning configuration. Detailed below. + */ + imageScanningConfiguration?: pulumi.Input; /** * Configuration block with image tests configuration. Detailed below. */ @@ -270,6 +280,10 @@ export interface ImageArgs { * Amazon Resource Name (ARN) of the image recipe. */ imageRecipeArn?: pulumi.Input; + /** + * Configuration block with image scanning configuration. Detailed below. + */ + imageScanningConfiguration?: pulumi.Input; /** * Configuration block with image tests configuration. Detailed below. */ diff --git a/sdk/nodejs/inspector2/enabler.ts b/sdk/nodejs/inspector2/enabler.ts index 964fd569eab..86999bbecdd 100644 --- a/sdk/nodejs/inspector2/enabler.ts +++ b/sdk/nodejs/inspector2/enabler.ts @@ -72,7 +72,7 @@ export class Enabler extends pulumi.CustomResource { public readonly accountIds!: pulumi.Output; /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. */ public readonly resourceTypes!: pulumi.Output; @@ -119,7 +119,7 @@ export interface EnablerState { accountIds?: pulumi.Input[]>; /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. */ resourceTypes?: pulumi.Input[]>; @@ -136,7 +136,7 @@ export interface EnablerArgs { accountIds: pulumi.Input[]>; /** * Type of resources to scan. - * Valid values are `EC2`, `ECR`, and `LAMBDA`. + * Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. * At least one item is required. */ resourceTypes: pulumi.Input[]>; diff --git a/sdk/nodejs/iot/domainConfiguration.ts b/sdk/nodejs/iot/domainConfiguration.ts new file mode 100644 index 00000000000..812cde06f40 --- /dev/null +++ b/sdk/nodejs/iot/domainConfiguration.ts @@ -0,0 +1,247 @@ +// *** WARNING: this file 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"; + +/** + * Creates and manages an AWS IoT domain configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const iot = new aws.iot.DomainConfiguration("iot", { + * domainName: "iot.example.com", + * serviceType: "DATA", + * serverCertificateArns: [aws_acm_certificate.cert.arn], + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import domain configurations using the name. For example: + * + * ```sh + * $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example + * ``` + */ +export class DomainConfiguration extends pulumi.CustomResource { + /** + * Get an existing DomainConfiguration 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?: DomainConfigurationState, opts?: pulumi.CustomResourceOptions): DomainConfiguration { + return new DomainConfiguration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:iot/domainConfiguration:DomainConfiguration'; + + /** + * Returns true if the given object is an instance of DomainConfiguration. 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 DomainConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DomainConfiguration.__pulumiType; + } + + /** + * The ARN of the domain configuration. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * An object that specifies the authorization service for a domain. See below. + */ + public readonly authorizerConfig!: pulumi.Output; + /** + * Fully-qualified domain name. + */ + public readonly domainName!: pulumi.Output; + /** + * The type of the domain. + */ + public /*out*/ readonly domainType!: pulumi.Output; + /** + * The name of the domain configuration. This value must be unique to a region. + */ + public readonly name!: pulumi.Output; + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + */ + public readonly serverCertificateArns!: pulumi.Output; + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + */ + public readonly serviceType!: pulumi.Output; + public readonly status!: pulumi.Output; + /** + * Map of tags to assign to this 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}>; + /** + * An object that specifies the TLS configuration for a domain. See below. + */ + public readonly tlsConfig!: pulumi.Output; + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + */ + public readonly validationCertificateArn!: pulumi.Output; + + /** + * Create a DomainConfiguration 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?: DomainConfigurationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DomainConfigurationArgs | DomainConfigurationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DomainConfigurationState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["authorizerConfig"] = state ? state.authorizerConfig : undefined; + resourceInputs["domainName"] = state ? state.domainName : undefined; + resourceInputs["domainType"] = state ? state.domainType : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["serverCertificateArns"] = state ? state.serverCertificateArns : undefined; + resourceInputs["serviceType"] = state ? state.serviceType : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["tlsConfig"] = state ? state.tlsConfig : undefined; + resourceInputs["validationCertificateArn"] = state ? state.validationCertificateArn : undefined; + } else { + const args = argsOrState as DomainConfigurationArgs | undefined; + resourceInputs["authorizerConfig"] = args ? args.authorizerConfig : undefined; + resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["serverCertificateArns"] = args ? args.serverCertificateArns : undefined; + resourceInputs["serviceType"] = args ? args.serviceType : undefined; + resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tlsConfig"] = args ? args.tlsConfig : undefined; + resourceInputs["validationCertificateArn"] = args ? args.validationCertificateArn : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["domainType"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["tagsAll"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(DomainConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DomainConfiguration resources. + */ +export interface DomainConfigurationState { + /** + * The ARN of the domain configuration. + */ + arn?: pulumi.Input; + /** + * An object that specifies the authorization service for a domain. See below. + */ + authorizerConfig?: pulumi.Input; + /** + * Fully-qualified domain name. + */ + domainName?: pulumi.Input; + /** + * The type of the domain. + */ + domainType?: pulumi.Input; + /** + * The name of the domain configuration. This value must be unique to a region. + */ + name?: pulumi.Input; + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + */ + serverCertificateArns?: pulumi.Input[]>; + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + */ + serviceType?: pulumi.Input; + status?: pulumi.Input; + /** + * Map of tags to assign to this 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}>; + /** + * An object that specifies the TLS configuration for a domain. See below. + */ + tlsConfig?: pulumi.Input; + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + */ + validationCertificateArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DomainConfiguration resource. + */ +export interface DomainConfigurationArgs { + /** + * An object that specifies the authorization service for a domain. See below. + */ + authorizerConfig?: pulumi.Input; + /** + * Fully-qualified domain name. + */ + domainName?: pulumi.Input; + /** + * The name of the domain configuration. This value must be unique to a region. + */ + name?: pulumi.Input; + /** + * The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domainName`, the cert must include it. + */ + serverCertificateArns?: pulumi.Input[]>; + /** + * The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + */ + serviceType?: pulumi.Input; + status?: pulumi.Input; + /** + * Map of tags to assign to this 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}>; + /** + * An object that specifies the TLS configuration for a domain. See below. + */ + tlsConfig?: pulumi.Input; + /** + * The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + */ + validationCertificateArn?: pulumi.Input; +} diff --git a/sdk/nodejs/iot/index.ts b/sdk/nodejs/iot/index.ts index baf800d8167..38adc55ff33 100644 --- a/sdk/nodejs/iot/index.ts +++ b/sdk/nodejs/iot/index.ts @@ -15,6 +15,11 @@ export type Certificate = import("./certificate").Certificate; export const Certificate: typeof import("./certificate").Certificate = null as any; utilities.lazyLoad(exports, ["Certificate"], () => require("./certificate")); +export { DomainConfigurationArgs, DomainConfigurationState } from "./domainConfiguration"; +export type DomainConfiguration = import("./domainConfiguration").DomainConfiguration; +export const DomainConfiguration: typeof import("./domainConfiguration").DomainConfiguration = null as any; +utilities.lazyLoad(exports, ["DomainConfiguration"], () => require("./domainConfiguration")); + export { GetEndpointArgs, GetEndpointResult, GetEndpointOutputArgs } from "./getEndpoint"; export const getEndpoint: typeof import("./getEndpoint").getEndpoint = null as any; export const getEndpointOutput: typeof import("./getEndpoint").getEndpointOutput = null as any; @@ -94,6 +99,8 @@ const _module = { return new Authorizer(name, undefined, { urn }) case "aws:iot/certificate:Certificate": return new Certificate(name, undefined, { urn }) + case "aws:iot/domainConfiguration:DomainConfiguration": + return new DomainConfiguration(name, undefined, { urn }) case "aws:iot/indexingConfiguration:IndexingConfiguration": return new IndexingConfiguration(name, undefined, { urn }) case "aws:iot/loggingOptions:LoggingOptions": @@ -127,6 +134,7 @@ const _module = { }; pulumi.runtime.registerResourceModule("aws", "iot/authorizer", _module) pulumi.runtime.registerResourceModule("aws", "iot/certificate", _module) +pulumi.runtime.registerResourceModule("aws", "iot/domainConfiguration", _module) pulumi.runtime.registerResourceModule("aws", "iot/indexingConfiguration", _module) pulumi.runtime.registerResourceModule("aws", "iot/loggingOptions", _module) pulumi.runtime.registerResourceModule("aws", "iot/policy", _module) diff --git a/sdk/nodejs/iot/indexingConfiguration.ts b/sdk/nodejs/iot/indexingConfiguration.ts index c3ed1867237..2e4d609d9f7 100644 --- a/sdk/nodejs/iot/indexingConfiguration.ts +++ b/sdk/nodejs/iot/indexingConfiguration.ts @@ -36,6 +36,9 @@ import * as utilities from "../utilities"; * }, * ], * deviceDefenderIndexingMode: "VIOLATIONS", + * filter: { + * namedShadowNames: ["thing1shadow"], + * }, * namedShadowIndexingMode: "ON", * thingConnectivityIndexingMode: "STATUS", * thingIndexingMode: "REGISTRY_AND_SHADOW", diff --git a/sdk/nodejs/iot/provisioningTemplate.ts b/sdk/nodejs/iot/provisioningTemplate.ts index 847dc74ff3a..c9db4f0cc96 100644 --- a/sdk/nodejs/iot/provisioningTemplate.ts +++ b/sdk/nodejs/iot/provisioningTemplate.ts @@ -149,6 +149,10 @@ export class ProvisioningTemplate extends pulumi.CustomResource { * The JSON formatted contents of the fleet provisioning template. */ public readonly templateBody!: pulumi.Output; + /** + * The type you define in a provisioning template. + */ + public readonly type!: pulumi.Output; /** * Create a ProvisioningTemplate resource with the given unique name, arguments, and options. @@ -173,6 +177,7 @@ export class ProvisioningTemplate extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["templateBody"] = state ? state.templateBody : undefined; + resourceInputs["type"] = state ? state.type : undefined; } else { const args = argsOrState as ProvisioningTemplateArgs | undefined; if ((!args || args.provisioningRoleArn === undefined) && !opts.urn) { @@ -188,6 +193,7 @@ export class ProvisioningTemplate extends pulumi.CustomResource { resourceInputs["provisioningRoleArn"] = args ? args.provisioningRoleArn : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["templateBody"] = args ? args.templateBody : undefined; + resourceInputs["type"] = args ? args.type : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["defaultVersionId"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; @@ -245,6 +251,10 @@ export interface ProvisioningTemplateState { * The JSON formatted contents of the fleet provisioning template. */ templateBody?: pulumi.Input; + /** + * The type you define in a provisioning template. + */ + type?: pulumi.Input; } /** @@ -279,4 +289,8 @@ export interface ProvisioningTemplateArgs { * The JSON formatted contents of the fleet provisioning template. */ templateBody: pulumi.Input; + /** + * The type you define in a provisioning template. + */ + type?: pulumi.Input; } diff --git a/sdk/nodejs/lb/loadBalancer.ts b/sdk/nodejs/lb/loadBalancer.ts index 31ca290b368..4e483abfffd 100644 --- a/sdk/nodejs/lb/loadBalancer.ts +++ b/sdk/nodejs/lb/loadBalancer.ts @@ -152,6 +152,10 @@ export class LoadBalancer extends pulumi.CustomResource { * The DNS name of the load balancer. */ public /*out*/ readonly dnsName!: pulumi.Output; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + public readonly dnsRecordClientRoutingPolicy!: pulumi.Output; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ @@ -205,7 +209,7 @@ export class LoadBalancer extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. Defaults to `false`. */ @@ -263,6 +267,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["customerOwnedIpv4Pool"] = state ? state.customerOwnedIpv4Pool : undefined; resourceInputs["desyncMitigationMode"] = state ? state.desyncMitigationMode : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; + resourceInputs["dnsRecordClientRoutingPolicy"] = state ? state.dnsRecordClientRoutingPolicy : undefined; resourceInputs["dropInvalidHeaderFields"] = state ? state.dropInvalidHeaderFields : undefined; resourceInputs["enableCrossZoneLoadBalancing"] = state ? state.enableCrossZoneLoadBalancing : undefined; resourceInputs["enableDeletionProtection"] = state ? state.enableDeletionProtection : undefined; @@ -290,6 +295,7 @@ export class LoadBalancer extends pulumi.CustomResource { resourceInputs["accessLogs"] = args ? args.accessLogs : undefined; resourceInputs["customerOwnedIpv4Pool"] = args ? args.customerOwnedIpv4Pool : undefined; resourceInputs["desyncMitigationMode"] = args ? args.desyncMitigationMode : undefined; + resourceInputs["dnsRecordClientRoutingPolicy"] = args ? args.dnsRecordClientRoutingPolicy : undefined; resourceInputs["dropInvalidHeaderFields"] = args ? args.dropInvalidHeaderFields : undefined; resourceInputs["enableCrossZoneLoadBalancing"] = args ? args.enableCrossZoneLoadBalancing : undefined; resourceInputs["enableDeletionProtection"] = args ? args.enableDeletionProtection : undefined; @@ -353,6 +359,10 @@ export interface LoadBalancerState { * The DNS name of the load balancer. */ dnsName?: pulumi.Input; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + dnsRecordClientRoutingPolicy?: pulumi.Input; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ @@ -462,6 +472,10 @@ export interface LoadBalancerArgs { * Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. */ desyncMitigationMode?: pulumi.Input; + /** + * Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `anyAvailabilityZone` (default), `availabilityZoneAffinity`, or `partialAvailabilityZoneAffinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + */ + dnsRecordClientRoutingPolicy?: pulumi.Input; /** * Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. */ diff --git a/sdk/nodejs/lb/targetGroup.ts b/sdk/nodejs/lb/targetGroup.ts index 662dd0c700d..efdc17de7c4 100644 --- a/sdk/nodejs/lb/targetGroup.ts +++ b/sdk/nodejs/lb/targetGroup.ts @@ -61,6 +61,21 @@ import * as utilities from "../utilities"; * vpcId: aws_vpc.main.id, * }); * ``` + * ### Target group with unhealthy connection termination disabled + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const tcp_example = new aws.lb.TargetGroup("tcp-example", { + * port: 25, + * protocol: "TCP", + * vpcId: aws_vpc.main.id, + * targetHealthStates: [{ + * enableUnhealthyConnectionTermination: false, + * }], + * }); + * ``` * * ## Import * @@ -109,7 +124,7 @@ export class TargetGroup extends pulumi.CustomResource { /** * Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. */ - public readonly connectionTermination!: pulumi.Output; + public readonly connectionTermination!: pulumi.Output; /** * Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. */ @@ -141,7 +156,7 @@ export class TargetGroup extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Port on which targets receive traffic, unless overridden when registering a specific target. Required when `targetType` is `instance`, `ip` or `alb`. Does not apply when `targetType` is `lambda`. */ @@ -184,6 +199,10 @@ export class TargetGroup extends pulumi.CustomResource { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ public readonly targetFailovers!: pulumi.Output; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + public readonly targetHealthStates!: pulumi.Output; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -235,6 +254,7 @@ export class TargetGroup extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["targetFailovers"] = state ? state.targetFailovers : undefined; + resourceInputs["targetHealthStates"] = state ? state.targetHealthStates : undefined; resourceInputs["targetType"] = state ? state.targetType : undefined; resourceInputs["vpcId"] = state ? state.vpcId : undefined; } else { @@ -257,6 +277,7 @@ export class TargetGroup extends pulumi.CustomResource { resourceInputs["stickiness"] = args ? args.stickiness : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["targetFailovers"] = args ? args.targetFailovers : undefined; + resourceInputs["targetHealthStates"] = args ? args.targetHealthStates : undefined; resourceInputs["targetType"] = args ? args.targetType : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -362,6 +383,10 @@ export interface TargetGroupState { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ targetFailovers?: pulumi.Input[]>; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + targetHealthStates?: pulumi.Input[]>; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * @@ -456,6 +481,10 @@ export interface TargetGroupArgs { * Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. */ targetFailovers?: pulumi.Input[]>; + /** + * Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See targetHealthState for more information. + */ + targetHealthStates?: pulumi.Input[]>; /** * Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. * diff --git a/sdk/nodejs/lightsail/keyPair.ts b/sdk/nodejs/lightsail/keyPair.ts index 77c49073fa9..af5afb044a6 100644 --- a/sdk/nodejs/lightsail/keyPair.ts +++ b/sdk/nodejs/lightsail/keyPair.ts @@ -91,7 +91,7 @@ export class KeyPair extends pulumi.CustomResource { * The name of the Lightsail Key Pair. If omitted, a unique name will be generated by this provider */ public readonly name!: pulumi.Output; - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * An optional PGP key to encrypt the resulting private key material. Only used when creating a new key pair */ diff --git a/sdk/nodejs/mediaconvert/getQueue.ts b/sdk/nodejs/mediaconvert/getQueue.ts new file mode 100644 index 00000000000..fd5d34d5bb2 --- /dev/null +++ b/sdk/nodejs/mediaconvert/getQueue.ts @@ -0,0 +1,96 @@ +// *** WARNING: this file 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"; + +/** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.mediaconvert.getQueue({ + * id: "tf-example-queue", + * }); + * ``` + */ +export function getQueue(args: GetQueueArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:mediaconvert/getQueue:getQueue", { + "id": args.id, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getQueue. + */ +export interface GetQueueArgs { + /** + * Unique identifier of the queue. The same as `name`. + */ + id: string; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getQueue. + */ +export interface GetQueueResult { + /** + * The Arn of the queue. + */ + readonly arn: string; + readonly id: string; + /** + * The same as `id`. + */ + readonly name: string; + /** + * The status of the queue. + */ + readonly status: string; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + readonly tags: {[key: string]: string}; +} +/** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.mediaconvert.getQueue({ + * id: "tf-example-queue", + * }); + * ``` + */ +export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getQueue(a, opts)) +} + +/** + * A collection of arguments for invoking getQueue. + */ +export interface GetQueueOutputArgs { + /** + * Unique identifier of the queue. The same as `name`. + */ + id: pulumi.Input; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/mediaconvert/index.ts b/sdk/nodejs/mediaconvert/index.ts index 3c2058bf7de..6d042d02716 100644 --- a/sdk/nodejs/mediaconvert/index.ts +++ b/sdk/nodejs/mediaconvert/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetQueueArgs, GetQueueResult, GetQueueOutputArgs } from "./getQueue"; +export const getQueue: typeof import("./getQueue").getQueue = null as any; +export const getQueueOutput: typeof import("./getQueue").getQueueOutput = null as any; +utilities.lazyLoad(exports, ["getQueue","getQueueOutput"], () => require("./getQueue")); + export { QueueArgs, QueueState } from "./queue"; export type Queue = import("./queue").Queue; export const Queue: typeof import("./queue").Queue = null as any; diff --git a/sdk/nodejs/msk/index.ts b/sdk/nodejs/msk/index.ts index 30a62dce660..fac0d114925 100644 --- a/sdk/nodejs/msk/index.ts +++ b/sdk/nodejs/msk/index.ts @@ -45,6 +45,11 @@ export const getVpcConnection: typeof import("./getVpcConnection").getVpcConnect export const getVpcConnectionOutput: typeof import("./getVpcConnection").getVpcConnectionOutput = null as any; utilities.lazyLoad(exports, ["getVpcConnection","getVpcConnectionOutput"], () => require("./getVpcConnection")); +export { ReplicatorArgs, ReplicatorState } from "./replicator"; +export type Replicator = import("./replicator").Replicator; +export const Replicator: typeof import("./replicator").Replicator = null as any; +utilities.lazyLoad(exports, ["Replicator"], () => require("./replicator")); + export { ScramSecretAssociationArgs, ScramSecretAssociationState } from "./scramSecretAssociation"; export type ScramSecretAssociation = import("./scramSecretAssociation").ScramSecretAssociation; export const ScramSecretAssociation: typeof import("./scramSecretAssociation").ScramSecretAssociation = null as any; @@ -71,6 +76,8 @@ const _module = { return new ClusterPolicy(name, undefined, { urn }) case "aws:msk/configuration:Configuration": return new Configuration(name, undefined, { urn }) + case "aws:msk/replicator:Replicator": + return new Replicator(name, undefined, { urn }) case "aws:msk/scramSecretAssociation:ScramSecretAssociation": return new ScramSecretAssociation(name, undefined, { urn }) case "aws:msk/serverlessCluster:ServerlessCluster": @@ -85,6 +92,7 @@ const _module = { pulumi.runtime.registerResourceModule("aws", "msk/cluster", _module) pulumi.runtime.registerResourceModule("aws", "msk/clusterPolicy", _module) pulumi.runtime.registerResourceModule("aws", "msk/configuration", _module) +pulumi.runtime.registerResourceModule("aws", "msk/replicator", _module) pulumi.runtime.registerResourceModule("aws", "msk/scramSecretAssociation", _module) pulumi.runtime.registerResourceModule("aws", "msk/serverlessCluster", _module) pulumi.runtime.registerResourceModule("aws", "msk/vpcConnection", _module) diff --git a/sdk/nodejs/msk/replicator.ts b/sdk/nodejs/msk/replicator.ts new file mode 100644 index 00000000000..5267e57f968 --- /dev/null +++ b/sdk/nodejs/msk/replicator.ts @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS Managed Streaming for Kafka Replicator. + * + * ## Example Usage + * + * ## Import + * + * Using `pulumi import`, import MSK replicators using the replicator ARN. For example: + * + * ```sh + * $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 + * ``` + */ +export class Replicator extends pulumi.CustomResource { + /** + * Get an existing Replicator 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?: ReplicatorState, opts?: pulumi.CustomResourceOptions): Replicator { + return new Replicator(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:msk/replicator:Replicator'; + + /** + * Returns true if the given object is an instance of Replicator. 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 Replicator { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Replicator.__pulumiType; + } + + /** + * ARN of the Replicator. 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 currentVersion!: pulumi.Output; + /** + * A summary description of the replicator. + */ + public readonly description!: pulumi.Output; + /** + * A list of Kafka clusters which are targets of the replicator. + */ + public readonly kafkaClusters!: pulumi.Output; + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + */ + public readonly replicationInfoList!: pulumi.Output; + /** + * The name of the replicator. + */ + public readonly replicatorName!: pulumi.Output; + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + */ + public readonly serviceExecutionRoleArn!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a Replicator 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: ReplicatorArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ReplicatorArgs | ReplicatorState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ReplicatorState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["currentVersion"] = state ? state.currentVersion : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["kafkaClusters"] = state ? state.kafkaClusters : undefined; + resourceInputs["replicationInfoList"] = state ? state.replicationInfoList : undefined; + resourceInputs["replicatorName"] = state ? state.replicatorName : undefined; + resourceInputs["serviceExecutionRoleArn"] = state ? state.serviceExecutionRoleArn : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as ReplicatorArgs | undefined; + if ((!args || args.kafkaClusters === undefined) && !opts.urn) { + throw new Error("Missing required property 'kafkaClusters'"); + } + if ((!args || args.replicationInfoList === undefined) && !opts.urn) { + throw new Error("Missing required property 'replicationInfoList'"); + } + if ((!args || args.replicatorName === undefined) && !opts.urn) { + throw new Error("Missing required property 'replicatorName'"); + } + if ((!args || args.serviceExecutionRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceExecutionRoleArn'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["kafkaClusters"] = args ? args.kafkaClusters : undefined; + resourceInputs["replicationInfoList"] = args ? args.replicationInfoList : undefined; + resourceInputs["replicatorName"] = args ? args.replicatorName : undefined; + resourceInputs["serviceExecutionRoleArn"] = args ? args.serviceExecutionRoleArn : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["currentVersion"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["tagsAll"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Replicator.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Replicator resources. + */ +export interface ReplicatorState { + /** + * ARN of the Replicator. 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; + currentVersion?: pulumi.Input; + /** + * A summary description of the replicator. + */ + description?: pulumi.Input; + /** + * A list of Kafka clusters which are targets of the replicator. + */ + kafkaClusters?: pulumi.Input[]>; + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + */ + replicationInfoList?: pulumi.Input; + /** + * The name of the replicator. + */ + replicatorName?: pulumi.Input; + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + */ + serviceExecutionRoleArn?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a Replicator resource. + */ +export interface ReplicatorArgs { + /** + * A summary description of the replicator. + */ + description?: pulumi.Input; + /** + * A list of Kafka clusters which are targets of the replicator. + */ + kafkaClusters: pulumi.Input[]>; + /** + * A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + */ + replicationInfoList: pulumi.Input; + /** + * The name of the replicator. + */ + replicatorName: pulumi.Input; + /** + * The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + */ + serviceExecutionRoleArn: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/neptune/cluster.ts b/sdk/nodejs/neptune/cluster.ts index a6a075f8895..1dddefb5883 100644 --- a/sdk/nodejs/neptune/cluster.ts +++ b/sdk/nodejs/neptune/cluster.ts @@ -119,7 +119,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly deletionProtection!: pulumi.Output; /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. */ public readonly enableCloudwatchLogsExports!: pulumi.Output; /** @@ -365,7 +365,7 @@ export interface ClusterState { */ deletionProtection?: pulumi.Input; /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. */ enableCloudwatchLogsExports?: pulumi.Input[]>; /** @@ -505,7 +505,7 @@ export interface ClusterArgs { */ deletionProtection?: pulumi.Input; /** - * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + * A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. */ enableCloudwatchLogsExports?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/neptune/clusterInstance.ts b/sdk/nodejs/neptune/clusterInstance.ts index 2558d3213f5..0cc4b95363c 100644 --- a/sdk/nodejs/neptune/clusterInstance.ts +++ b/sdk/nodejs/neptune/clusterInstance.ts @@ -112,7 +112,7 @@ export class ClusterInstance extends pulumi.CustomResource { */ public readonly engine!: pulumi.Output; /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. */ public readonly engineVersion!: pulumi.Output; /** @@ -300,7 +300,7 @@ export interface ClusterInstanceState { */ engine?: pulumi.Input; /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. */ engineVersion?: pulumi.Input; /** @@ -394,7 +394,7 @@ export interface ClusterInstanceArgs { */ engine?: pulumi.Input; /** - * The neptune engine version. + * The neptune engine version. Currently configuring this argumnet has no effect. */ engineVersion?: pulumi.Input; /** diff --git a/sdk/nodejs/opensearch/domainPolicy.ts b/sdk/nodejs/opensearch/domainPolicy.ts index 3c9786d0c14..af72920c7d5 100644 --- a/sdk/nodejs/opensearch/domainPolicy.ts +++ b/sdk/nodejs/opensearch/domainPolicy.ts @@ -6,6 +6,35 @@ import * as utilities from "../utilities"; /** * Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.opensearch.Domain("example", {engineVersion: "OpenSearch_1.1"}); + * const mainPolicyDocument = aws.iam.getPolicyDocumentOutput({ + * statements: [{ + * effect: "Allow", + * principals: [{ + * type: "*", + * identifiers: ["*"], + * }], + * actions: ["es:*"], + * resources: [pulumi.interpolate`${example.arn}/*`], + * conditions: [{ + * test: "IpAddress", + * variable: "aws:SourceIp", + * values: ["127.0.0.1/32"], + * }], + * }], + * }); + * const mainDomainPolicy = new aws.opensearch.DomainPolicy("mainDomainPolicy", { + * domainName: example.domainName, + * accessPolicies: mainPolicyDocument.apply(mainPolicyDocument => mainPolicyDocument.json), + * }); + * ``` */ export class DomainPolicy extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/app.ts b/sdk/nodejs/pinpoint/app.ts index 3ab434f6237..ec26b0ea182 100644 --- a/sdk/nodejs/pinpoint/app.ts +++ b/sdk/nodejs/pinpoint/app.ts @@ -86,7 +86,7 @@ export class App extends pulumi.CustomResource { /** * The name of the Pinpoint application. Conflicts with `name` */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own */ diff --git a/sdk/nodejs/rds/cluster.ts b/sdk/nodejs/rds/cluster.ts index 91ee804e09d..5dda358d720 100644 --- a/sdk/nodejs/rds/cluster.ts +++ b/sdk/nodejs/rds/cluster.ts @@ -258,7 +258,7 @@ export class Cluster extends pulumi.CustomResource { } /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. */ public readonly allocatedStorage!: pulumi.Output; /** @@ -274,7 +274,10 @@ export class Cluster extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + * A maximum of 3 AZs can be configured. */ public readonly availabilityZones!: pulumi.Output; /** @@ -310,7 +313,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly databaseName!: pulumi.Output; /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. */ public readonly dbClusterInstanceClass!: pulumi.Output; /** @@ -322,7 +325,8 @@ export class Cluster extends pulumi.CustomResource { */ public readonly dbInstanceParameterGroupName!: pulumi.Output; /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. */ public readonly dbSubnetGroupName!: pulumi.Output; /** @@ -330,7 +334,9 @@ export class Cluster extends pulumi.CustomResource { */ public readonly dbSystemId!: pulumi.Output; /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. */ public readonly deletionProtection!: pulumi.Output; /** @@ -468,7 +474,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly storageEncrypted!: pulumi.Output; /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). */ public readonly storageType!: pulumi.Output; /** @@ -631,7 +637,7 @@ export class Cluster extends pulumi.CustomResource { */ export interface ClusterState { /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. */ allocatedStorage?: pulumi.Input; /** @@ -647,7 +653,10 @@ export interface ClusterState { */ arn?: pulumi.Input; /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + * A maximum of 3 AZs can be configured. */ availabilityZones?: pulumi.Input[]>; /** @@ -683,7 +692,7 @@ export interface ClusterState { */ databaseName?: pulumi.Input; /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. */ dbClusterInstanceClass?: pulumi.Input; /** @@ -695,7 +704,8 @@ export interface ClusterState { */ dbInstanceParameterGroupName?: pulumi.Input; /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. */ dbSubnetGroupName?: pulumi.Input; /** @@ -703,7 +713,9 @@ export interface ClusterState { */ dbSystemId?: pulumi.Input; /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. */ deletionProtection?: pulumi.Input; /** @@ -841,7 +853,7 @@ export interface ClusterState { */ storageEncrypted?: pulumi.Input; /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). */ storageType?: pulumi.Input; /** @@ -865,7 +877,7 @@ export interface ClusterState { */ export interface ClusterArgs { /** - * (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + * The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. */ allocatedStorage?: pulumi.Input; /** @@ -877,7 +889,10 @@ export interface ClusterArgs { */ applyImmediately?: pulumi.Input; /** - * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. A maximum of 3 AZs can be configured. + * List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + * RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + * We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. + * A maximum of 3 AZs can be configured. */ availabilityZones?: pulumi.Input[]>; /** @@ -909,7 +924,7 @@ export interface ClusterArgs { */ databaseName?: pulumi.Input; /** - * (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + * The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. */ dbClusterInstanceClass?: pulumi.Input; /** @@ -921,7 +936,8 @@ export interface ClusterArgs { */ dbInstanceParameterGroupName?: pulumi.Input; /** - * DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. + * DB subnet group to associate with this DB cluster. + * **NOTE:** This must match the `dbSubnetGroupName` specified on every `aws.rds.ClusterInstance` in the cluster. */ dbSubnetGroupName?: pulumi.Input; /** @@ -929,7 +945,9 @@ export interface ClusterArgs { */ dbSystemId?: pulumi.Input; /** - * 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`. + * If the DB cluster should have deletion protection enabled. + * The database can't be deleted when this value is set to `true`. + * The default is `false`. */ deletionProtection?: pulumi.Input; /** @@ -1046,7 +1064,7 @@ export interface ClusterArgs { */ storageEncrypted?: pulumi.Input; /** - * (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + * (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). */ storageType?: pulumi.Input; /** diff --git a/sdk/nodejs/rds/instance.ts b/sdk/nodejs/rds/instance.ts index b3baa05c927..274890c77f7 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -212,7 +212,7 @@ export class Instance extends pulumi.CustomResource { public readonly backupWindow!: pulumi.Output; /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blueGreenUpdate below + * See `blueGreenUpdate` below. */ public readonly blueGreenUpdate!: pulumi.Output; /** @@ -336,8 +336,12 @@ export class Instance extends pulumi.CustomResource { */ public /*out*/ readonly latestRestorableTime!: pulumi.Output; /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` */ public readonly licenseModel!: pulumi.Output; /** @@ -764,7 +768,7 @@ export interface InstanceState { backupWindow?: pulumi.Input; /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blueGreenUpdate below + * See `blueGreenUpdate` below. */ blueGreenUpdate?: pulumi.Input; /** @@ -888,8 +892,12 @@ export interface InstanceState { */ latestRestorableTime?: pulumi.Input; /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` */ licenseModel?: pulumi.Input; /** @@ -1135,7 +1143,7 @@ export interface InstanceArgs { backupWindow?: pulumi.Input; /** * Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - * See blueGreenUpdate below + * See `blueGreenUpdate` below. */ blueGreenUpdate?: pulumi.Input; /** @@ -1243,8 +1251,12 @@ export interface InstanceArgs { */ kmsKeyId?: pulumi.Input; /** - * (Optional, but required for some DB engines, i.e., Oracle - * SE1) License model information for this DB instance. + * License model information for this DB instance. Valid values for this field are as follows: + * * RDS for MariaDB: `general-public-license` + * * RDS for Microsoft SQL Server: `license-included` + * * RDS for MySQL: `general-public-license` + * * RDS for Oracle: `bring-your-own-license | license-included` + * * RDS for PostgreSQL: `postgresql-license` */ licenseModel?: pulumi.Input; /** diff --git a/sdk/nodejs/signer/signingProfile.ts b/sdk/nodejs/signer/signingProfile.ts index ab7c933773b..56121079fff 100644 --- a/sdk/nodejs/signer/signingProfile.ts +++ b/sdk/nodejs/signer/signingProfile.ts @@ -78,7 +78,7 @@ export class SigningProfile extends pulumi.CustomResource { /** * A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * A human-readable name for the signing platform associated with the signing profile. */ diff --git a/sdk/nodejs/signer/signingProfilePermission.ts b/sdk/nodejs/signer/signingProfilePermission.ts index a9e833e083b..d9a068dea19 100644 --- a/sdk/nodejs/signer/signingProfilePermission.ts +++ b/sdk/nodejs/signer/signingProfilePermission.ts @@ -82,7 +82,7 @@ export class SigningProfilePermission extends pulumi.CustomResource { } /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. */ public readonly action!: pulumi.Output; /** @@ -104,7 +104,7 @@ export class SigningProfilePermission extends pulumi.CustomResource { /** * A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statementId`. */ - public readonly statementIdPrefix!: pulumi.Output; + public readonly statementIdPrefix!: pulumi.Output; /** * Create a SigningProfilePermission resource with the given unique name, arguments, and options. @@ -153,7 +153,7 @@ export class SigningProfilePermission extends pulumi.CustomResource { */ export interface SigningProfilePermissionState { /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. */ action?: pulumi.Input; /** @@ -183,7 +183,7 @@ export interface SigningProfilePermissionState { */ export interface SigningProfilePermissionArgs { /** - * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + * An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. */ action: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 23df5bacf89..9d6e507eacf 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -868,6 +868,7 @@ "elasticsearch/domainSamlOptions.ts", "elasticsearch/getDomain.ts", "elasticsearch/index.ts", + "elasticsearch/vpcEndpoint.ts", "elastictranscoder/index.ts", "elastictranscoder/pipeline.ts", "elastictranscoder/preset.ts", @@ -1096,6 +1097,7 @@ "inspector2/organizationConfiguration.ts", "iot/authorizer.ts", "iot/certificate.ts", + "iot/domainConfiguration.ts", "iot/getEndpoint.ts", "iot/index.ts", "iot/indexingConfiguration.ts", @@ -1272,6 +1274,7 @@ "macie2/invitationAccepter.ts", "macie2/member.ts", "macie2/organizationAdminAccount.ts", + "mediaconvert/getQueue.ts", "mediaconvert/index.ts", "mediaconvert/queue.ts", "medialive/channel.ts", @@ -1312,6 +1315,7 @@ "msk/getKafkaVersion.ts", "msk/getVpcConnection.ts", "msk/index.ts", + "msk/replicator.ts", "msk/scramSecretAssociation.ts", "msk/serverlessCluster.ts", "msk/vpcConnection.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index fb60c020e5e..4648209438c 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1143,6 +1143,13 @@ export namespace alb { */ onUnhealthy: pulumi.Input; } + + export interface TargetGroupTargetHealthState { + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + */ + enableUnhealthyConnectionTermination: pulumi.Input; + } } export namespace amp { @@ -8930,7 +8937,7 @@ export namespace cfg { */ includeGlobalResourceTypes?: pulumi.Input; /** - * Recording Strategy - see below.. + * Recording Strategy. Detailed below. */ recordingStrategies?: pulumi.Input[]>; /** @@ -8941,7 +8948,7 @@ export namespace cfg { export interface RecorderRecordingGroupExclusionByResourceType { /** - * A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. + * A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. */ resourceTypes?: pulumi.Input[]>; } @@ -8987,6 +8994,13 @@ export namespace cfg { staticValues?: pulumi.Input[]>; } + export interface RuleEvaluationMode { + /** + * The mode of an evaluation. + */ + mode?: pulumi.Input; + } + export interface RuleScope { /** * The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`. @@ -18961,7 +18975,7 @@ export namespace ec2 { */ volumeSize?: pulumi.Input; /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. */ @@ -21337,7 +21351,7 @@ export namespace ec2 { */ volumeSize?: pulumi.Input; /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. */ @@ -23747,6 +23761,18 @@ export namespace elasticsearch { vpcId?: pulumi.Input; } + export interface VpcEndpointVpcOptions { + availabilityZones?: pulumi.Input[]>; + /** + * The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + */ + subnetIds: pulumi.Input[]>; + vpcId?: pulumi.Input; + } } export namespace elastictranscoder { @@ -28629,6 +28655,28 @@ export namespace imagebuilder { values: pulumi.Input[]>; } + export interface ImageImageScanningConfiguration { + /** + * Configuration block with ECR configuration. Detailed below. + */ + ecrConfiguration?: pulumi.Input; + /** + * Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + */ + imageScanningEnabled?: pulumi.Input; + } + + export interface ImageImageScanningConfigurationEcrConfiguration { + /** + * Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + */ + containerTags?: pulumi.Input[]>; + /** + * The name of the container repository that Amazon Inspector scans to identify findings for your container images. + */ + repositoryName?: pulumi.Input; + } + export interface ImageImageTestsConfiguration { /** * Whether image tests are enabled. Defaults to `true`. @@ -28878,6 +28926,24 @@ export namespace inspector2 { } export namespace iot { + export interface DomainConfigurationAuthorizerConfig { + /** + * A Boolean that specifies whether the domain configuration's authorization service can be overridden. + */ + allowAuthorizerOverride?: pulumi.Input; + /** + * The name of the authorization service for a domain configuration. + */ + defaultAuthorizerName?: pulumi.Input; + } + + export interface DomainConfigurationTlsConfig { + /** + * The security policy for a domain configuration. + */ + securityPolicy?: pulumi.Input; + } + export interface IndexingConfigurationThingGroupIndexingConfiguration { /** * A list of thing group fields to index. This list cannot contain any managed fields. See below. @@ -28924,6 +28990,10 @@ export namespace iot { * Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. */ deviceDefenderIndexingMode?: pulumi.Input; + /** + * Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + */ + filter?: pulumi.Input; /** * Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. */ @@ -28953,6 +29023,13 @@ export namespace iot { type?: pulumi.Input; } + export interface IndexingConfigurationThingIndexingConfigurationFilter { + /** + * List of shadow names that you select to index. + */ + namedShadowNames?: pulumi.Input[]>; + } + export interface IndexingConfigurationThingIndexingConfigurationManagedField { /** * The name of the field. @@ -33779,6 +33856,10 @@ export namespace lambda { } export interface FunctionVpcConfig { + /** + * Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + */ + ipv6AllowedForDualStack?: pulumi.Input; /** * List of security group IDs associated with the Lambda function. */ @@ -34372,6 +34453,13 @@ export namespace lb { */ onUnhealthy: pulumi.Input; } + + export interface TargetGroupTargetHealthState { + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + */ + enableUnhealthyConnectionTermination: pulumi.Input; + } } export namespace lex { @@ -38761,6 +38849,102 @@ export namespace msk { enabledInBroker: pulumi.Input; } + export interface ReplicatorKafkaCluster { + /** + * Details of an Amazon MSK cluster. + */ + amazonMskCluster: pulumi.Input; + /** + * Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + */ + vpcConfig: pulumi.Input; + } + + export interface ReplicatorKafkaClusterAmazonMskCluster { + /** + * The ARN of an Amazon MSK cluster. + */ + mskClusterArn: pulumi.Input; + } + + export interface ReplicatorKafkaClusterVpcConfig { + /** + * The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + */ + securityGroupsIds?: pulumi.Input[]>; + /** + * The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + */ + subnetIds: pulumi.Input[]>; + } + + export interface ReplicatorReplicationInfoList { + /** + * Confguration relating to consumer group replication. + */ + consumerGroupReplications: pulumi.Input[]>; + sourceKafkaClusterAlias?: pulumi.Input; + /** + * The ARN of the source Kafka cluster. + */ + sourceKafkaClusterArn: pulumi.Input; + /** + * The type of compression to use writing records to target Kafka cluster. + */ + targetCompressionType: pulumi.Input; + targetKafkaClusterAlias?: pulumi.Input; + /** + * The ARN of the target Kafka cluster. + */ + targetKafkaClusterArn: pulumi.Input; + /** + * Configuration relating to topic replication. + */ + topicReplications: pulumi.Input[]>; + } + + export interface ReplicatorReplicationInfoListConsumerGroupReplication { + /** + * List of regular expression patterns indicating the consumer groups that should not be replicated. + */ + consumerGroupsToExcludes?: pulumi.Input[]>; + /** + * List of regular expression patterns indicating the consumer groups to copy. + */ + consumerGroupsToReplicates: pulumi.Input[]>; + /** + * Whether to periodically check for new consumer groups. + */ + detectAndCopyNewConsumerGroups?: pulumi.Input; + /** + * Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + */ + synchroniseConsumerGroupOffsets?: pulumi.Input; + } + + export interface ReplicatorReplicationInfoListTopicReplication { + /** + * Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + */ + copyAccessControlListsForTopics?: pulumi.Input; + /** + * Whether to periodically configure remote topics to match their corresponding upstream topics. + */ + copyTopicConfigurations?: pulumi.Input; + /** + * Whether to periodically check for new topics and partitions. + */ + detectAndCopyNewTopics?: pulumi.Input; + /** + * List of regular expression patterns indicating the topics that should not be replica. + */ + topicsToExcludes?: pulumi.Input[]>; + /** + * List of regular expression patterns indicating the topics to copy. + */ + topicsToReplicates: pulumi.Input[]>; + } + export interface ServerlessClusterClientAuthentication { /** * Details for client authentication using SASL. See below. @@ -55340,6 +55524,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -55436,6 +55621,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -55870,6 +56062,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -55966,6 +56159,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -56137,6 +56337,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -56233,6 +56434,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -56331,6 +56539,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -56427,6 +56636,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -56529,6 +56745,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -56625,6 +56842,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -56719,6 +56943,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -56815,6 +57040,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -56909,6 +57141,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57005,6 +57238,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -57103,6 +57343,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57199,6 +57440,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -57297,6 +57545,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57393,6 +57642,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -57495,6 +57751,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57591,6 +57848,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -57685,6 +57949,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57781,6 +58046,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -57875,6 +58147,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: pulumi.Input[]>; + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -57971,6 +58244,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -58605,6 +58885,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -58701,6 +58985,13 @@ export namespace wafv2 { export interface WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -59414,6 +59705,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -59510,6 +59805,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -59679,6 +59981,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -59775,6 +60081,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -59871,6 +60184,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -59967,6 +60284,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -60067,6 +60391,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -60163,6 +60491,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -60255,6 +60590,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -60351,6 +60690,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -60443,6 +60789,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -60539,6 +60889,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -60902,6 +61259,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -60998,6 +61359,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -61167,6 +61535,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -61263,6 +61635,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -61359,6 +61738,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -61455,6 +61838,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -61555,6 +61945,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -61651,6 +62045,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -61743,6 +62144,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -61839,6 +62244,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -61931,6 +62343,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -62027,6 +62443,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -62123,6 +62546,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -62219,6 +62646,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -62315,6 +62749,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -62411,6 +62849,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -62689,6 +63134,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -62785,6 +63234,13 @@ export namespace wafv2 { export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -62877,6 +63333,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -62973,6 +63433,13 @@ export namespace wafv2 { export interface WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63065,6 +63532,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: pulumi.Input[]>; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: pulumi.Input; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -63161,6 +63632,13 @@ export namespace wafv2 { export interface WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: pulumi.Input; + } + export interface WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 94ea910f64c..71630fa0964 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -953,6 +953,13 @@ export namespace alb { onUnhealthy: string; } + export interface TargetGroupTargetHealthState { + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + */ + enableUnhealthyConnectionTermination: boolean; + } + } export namespace amp { @@ -8508,7 +8515,7 @@ export namespace autoscaling { /** * List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below. */ - overrides?: outputs.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverride[]; + overrides: outputs.autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverride[]; } export interface GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification { @@ -10476,7 +10483,7 @@ export namespace cfg { */ includeGlobalResourceTypes?: boolean; /** - * Recording Strategy - see below.. + * Recording Strategy. Detailed below. */ recordingStrategies: outputs.cfg.RecorderRecordingGroupRecordingStrategy[]; /** @@ -10487,7 +10494,7 @@ export namespace cfg { export interface RecorderRecordingGroupExclusionByResourceType { /** - * A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false. + * A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. */ resourceTypes?: string[]; } @@ -10533,6 +10540,13 @@ export namespace cfg { staticValues: string[]; } + export interface RuleEvaluationMode { + /** + * The mode of an evaluation. + */ + mode: string; + } + export interface RuleScope { /** * The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`. @@ -22948,7 +22962,7 @@ export namespace ec2 { */ volumeSize: number; /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. */ @@ -25324,7 +25338,7 @@ export namespace ec2 { */ volumeSize: number; /** - * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + * Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. * * Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. */ @@ -27986,6 +28000,19 @@ export namespace elasticsearch { vpcId: string; } + export interface VpcEndpointVpcOptions { + availabilityZones: string[]; + /** + * The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + */ + securityGroupIds: string[]; + /** + * A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + */ + subnetIds: string[]; + vpcId: string; + } + } export namespace elastictranscoder { @@ -33411,6 +33438,28 @@ export namespace imagebuilder { values: string[]; } + export interface GetImageImageScanningConfiguration { + /** + * Configuration block with ECR configuration. + */ + ecrConfigurations: outputs.imagebuilder.GetImageImageScanningConfigurationEcrConfiguration[]; + /** + * Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + */ + imageScanningEnabled: boolean; + } + + export interface GetImageImageScanningConfigurationEcrConfiguration { + /** + * Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + */ + containerTags: string[]; + /** + * The name of the container repository that Amazon Inspector scans to identify findings for your container images. + */ + repositoryName: string; + } + export interface GetImageImageTestsConfiguration { /** * Whether image tests are enabled. @@ -33649,6 +33698,28 @@ export namespace imagebuilder { values: string[]; } + export interface ImageImageScanningConfiguration { + /** + * Configuration block with ECR configuration. Detailed below. + */ + ecrConfiguration: outputs.imagebuilder.ImageImageScanningConfigurationEcrConfiguration; + /** + * Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + */ + imageScanningEnabled?: boolean; + } + + export interface ImageImageScanningConfigurationEcrConfiguration { + /** + * Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + */ + containerTags?: string[]; + /** + * The name of the container repository that Amazon Inspector scans to identify findings for your container images. + */ + repositoryName?: string; + } + export interface ImageImageTestsConfiguration { /** * Whether image tests are enabled. Defaults to `true`. @@ -33901,6 +33972,24 @@ export namespace inspector2 { } export namespace iot { + export interface DomainConfigurationAuthorizerConfig { + /** + * A Boolean that specifies whether the domain configuration's authorization service can be overridden. + */ + allowAuthorizerOverride?: boolean; + /** + * The name of the authorization service for a domain configuration. + */ + defaultAuthorizerName?: string; + } + + export interface DomainConfigurationTlsConfig { + /** + * The security policy for a domain configuration. + */ + securityPolicy: string; + } + export interface IndexingConfigurationThingGroupIndexingConfiguration { /** * A list of thing group fields to index. This list cannot contain any managed fields. See below. @@ -33947,6 +34036,10 @@ export namespace iot { * Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. */ deviceDefenderIndexingMode?: string; + /** + * Required if `namedShadowIndexingMode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + */ + filter: outputs.iot.IndexingConfigurationThingIndexingConfigurationFilter; /** * Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. */ @@ -33976,6 +34069,13 @@ export namespace iot { type?: string; } + export interface IndexingConfigurationThingIndexingConfigurationFilter { + /** + * List of shadow names that you select to index. + */ + namedShadowNames?: string[]; + } + export interface IndexingConfigurationThingIndexingConfigurationManagedField { /** * The name of the field. @@ -38971,6 +39071,10 @@ export namespace lambda { } export interface FunctionVpcConfig { + /** + * Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + */ + ipv6AllowedForDualStack?: boolean; /** * List of security group IDs associated with the Lambda function. */ @@ -39723,6 +39827,13 @@ export namespace lb { onUnhealthy: string; } + export interface TargetGroupTargetHealthState { + /** + * Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + */ + enableUnhealthyConnectionTermination: boolean; + } + } export namespace lex { @@ -44436,6 +44547,102 @@ export namespace msk { nodeArn: string; } + export interface ReplicatorKafkaCluster { + /** + * Details of an Amazon MSK cluster. + */ + amazonMskCluster: outputs.msk.ReplicatorKafkaClusterAmazonMskCluster; + /** + * Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + */ + vpcConfig: outputs.msk.ReplicatorKafkaClusterVpcConfig; + } + + export interface ReplicatorKafkaClusterAmazonMskCluster { + /** + * The ARN of an Amazon MSK cluster. + */ + mskClusterArn: string; + } + + export interface ReplicatorKafkaClusterVpcConfig { + /** + * The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + */ + securityGroupsIds?: string[]; + /** + * The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + */ + subnetIds: string[]; + } + + export interface ReplicatorReplicationInfoList { + /** + * Confguration relating to consumer group replication. + */ + consumerGroupReplications: outputs.msk.ReplicatorReplicationInfoListConsumerGroupReplication[]; + sourceKafkaClusterAlias: string; + /** + * The ARN of the source Kafka cluster. + */ + sourceKafkaClusterArn: string; + /** + * The type of compression to use writing records to target Kafka cluster. + */ + targetCompressionType: string; + targetKafkaClusterAlias: string; + /** + * The ARN of the target Kafka cluster. + */ + targetKafkaClusterArn: string; + /** + * Configuration relating to topic replication. + */ + topicReplications: outputs.msk.ReplicatorReplicationInfoListTopicReplication[]; + } + + export interface ReplicatorReplicationInfoListConsumerGroupReplication { + /** + * List of regular expression patterns indicating the consumer groups that should not be replicated. + */ + consumerGroupsToExcludes?: string[]; + /** + * List of regular expression patterns indicating the consumer groups to copy. + */ + consumerGroupsToReplicates: string[]; + /** + * Whether to periodically check for new consumer groups. + */ + detectAndCopyNewConsumerGroups?: boolean; + /** + * Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + */ + synchroniseConsumerGroupOffsets?: boolean; + } + + export interface ReplicatorReplicationInfoListTopicReplication { + /** + * Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + */ + copyAccessControlListsForTopics?: boolean; + /** + * Whether to periodically configure remote topics to match their corresponding upstream topics. + */ + copyTopicConfigurations?: boolean; + /** + * Whether to periodically check for new topics and partitions. + */ + detectAndCopyNewTopics?: boolean; + /** + * List of regular expression patterns indicating the topics that should not be replica. + */ + topicsToExcludes?: string[]; + /** + * List of regular expression patterns indicating the topics to copy. + */ + topicsToReplicates: string[]; + } + export interface ServerlessClusterClientAuthentication { /** * Details for client authentication using SASL. See below. @@ -62221,6 +62428,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -62317,6 +62525,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -62751,6 +62966,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -62847,6 +63063,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63018,6 +63241,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -63114,6 +63338,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63212,6 +63443,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -63308,6 +63540,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63410,6 +63649,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -63506,6 +63746,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63600,6 +63847,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -63696,6 +63944,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63790,6 +64045,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -63886,6 +64142,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -63984,6 +64247,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -64080,6 +64344,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -64178,6 +64449,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -64274,6 +64546,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -64376,6 +64655,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -64472,6 +64752,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -64566,6 +64853,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -64662,6 +64950,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -64756,6 +65051,7 @@ export namespace wafv2 { * Inspect the request headers. See Headers below for details. */ headers?: outputs.wafv2.RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader[]; + ja3Fingerprint?: outputs.wafv2.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See JSON Body for details. */ @@ -64852,6 +65148,13 @@ export namespace wafv2 { export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -65486,6 +65789,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementByteMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -65582,6 +65889,13 @@ export namespace wafv2 { export interface WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -66295,6 +66609,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -66391,6 +66709,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -66560,6 +66885,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -66656,6 +66985,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -66752,6 +67088,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -66848,6 +67188,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -66948,6 +67295,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -67044,6 +67395,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -67136,6 +67494,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -67232,6 +67594,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -67324,6 +67693,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -67420,6 +67793,13 @@ export namespace wafv2 { export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -67783,6 +68163,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -67879,6 +68263,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -68048,6 +68439,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -68144,6 +68539,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -68240,6 +68642,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -68336,6 +68742,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -68436,6 +68849,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -68532,6 +68949,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -68624,6 +69048,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -68720,6 +69148,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -68812,6 +69247,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -68908,6 +69347,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -69004,6 +69450,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRegexMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -69100,6 +69550,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -69196,6 +69653,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -69292,6 +69753,13 @@ export namespace wafv2 { export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -69570,6 +70038,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementSizeConstraintStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -69666,6 +70138,13 @@ export namespace wafv2 { export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -69758,6 +70237,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementSqliMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -69854,6 +70337,13 @@ export namespace wafv2 { export interface WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. @@ -69946,6 +70436,10 @@ export namespace wafv2 { * Inspect the request headers. See `headers` below for details. */ headers?: outputs.wafv2.WebAclRuleStatementXssMatchStatementFieldToMatchHeader[]; + /** + * Inspect the JA3 fingerprint. See `ja3Fingerprint` below for details. + */ + ja3Fingerprint?: outputs.wafv2.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint; /** * Inspect the request body as JSON. See `jsonBody` for details. */ @@ -70042,6 +70536,13 @@ export namespace wafv2 { export interface WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll { } + export interface WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint { + /** + * Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + */ + fallbackBehavior: string; + } + export interface WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody { /** * What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index a0561ef9dac..f4177ad4f91 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -4833,6 +4833,14 @@ "aws:elasticsearch/domainSamlOptions:DomainSamlOptions": "DomainSamlOptions" } }, + { + "pkg": "aws", + "mod": "elasticsearch/vpcEndpoint", + "fqn": "pulumi_aws.elasticsearch", + "classes": { + "aws:elasticsearch/vpcEndpoint:VpcEndpoint": "VpcEndpoint" + } + }, { "pkg": "aws", "mod": "elastictranscoder/pipeline", @@ -5953,6 +5961,14 @@ "aws:iot/certificate:Certificate": "Certificate" } }, + { + "pkg": "aws", + "mod": "iot/domainConfiguration", + "fqn": "pulumi_aws.iot", + "classes": { + "aws:iot/domainConfiguration:DomainConfiguration": "DomainConfiguration" + } + }, { "pkg": "aws", "mod": "iot/indexingConfiguration", @@ -6993,6 +7009,14 @@ "aws:msk/configuration:Configuration": "Configuration" } }, + { + "pkg": "aws", + "mod": "msk/replicator", + "fqn": "pulumi_aws.msk", + "classes": { + "aws:msk/replicator:Replicator": "Replicator" + } + }, { "pkg": "aws", "mod": "msk/scramSecretAssociation", diff --git a/sdk/python/pulumi_aws/alb/_inputs.py b/sdk/python/pulumi_aws/alb/_inputs.py index f22e41963a7..6df3e13b1f3 100644 --- a/sdk/python/pulumi_aws/alb/_inputs.py +++ b/sdk/python/pulumi_aws/alb/_inputs.py @@ -39,6 +39,7 @@ 'TargetGroupHealthCheckArgs', 'TargetGroupStickinessArgs', 'TargetGroupTargetFailoverArgs', + 'TargetGroupTargetHealthStateArgs', ] @pulumi.input_type @@ -2159,3 +2160,25 @@ def on_unhealthy(self, value: pulumi.Input[str]): pulumi.set(self, "on_unhealthy", value) +@pulumi.input_type +class TargetGroupTargetHealthStateArgs: + def __init__(__self__, *, + enable_unhealthy_connection_termination: pulumi.Input[bool]): + """ + :param pulumi.Input[bool] enable_unhealthy_connection_termination: Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + pulumi.set(__self__, "enable_unhealthy_connection_termination", enable_unhealthy_connection_termination) + + @property + @pulumi.getter(name="enableUnhealthyConnectionTermination") + def enable_unhealthy_connection_termination(self) -> pulumi.Input[bool]: + """ + Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + return pulumi.get(self, "enable_unhealthy_connection_termination") + + @enable_unhealthy_connection_termination.setter + def enable_unhealthy_connection_termination(self, value: pulumi.Input[bool]): + pulumi.set(self, "enable_unhealthy_connection_termination", value) + + diff --git a/sdk/python/pulumi_aws/alb/load_balancer.py b/sdk/python/pulumi_aws/alb/load_balancer.py index e6ec14f4f12..2ea7a3f37d3 100644 --- a/sdk/python/pulumi_aws/alb/load_balancer.py +++ b/sdk/python/pulumi_aws/alb/load_balancer.py @@ -19,6 +19,7 @@ def __init__(__self__, *, access_logs: Optional[pulumi.Input['LoadBalancerAccessLogsArgs']] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -43,6 +44,7 @@ def __init__(__self__, *, :param pulumi.Input['LoadBalancerAccessLogsArgs'] access_logs: An Access Logs block. Access Logs documented below. :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -73,6 +75,8 @@ def __init__(__self__, *, pulumi.set(__self__, "customer_owned_ipv4_pool", customer_owned_ipv4_pool) if desync_mitigation_mode is not None: pulumi.set(__self__, "desync_mitigation_mode", desync_mitigation_mode) + if dns_record_client_routing_policy is not None: + pulumi.set(__self__, "dns_record_client_routing_policy", dns_record_client_routing_policy) if drop_invalid_header_fields is not None: pulumi.set(__self__, "drop_invalid_header_fields", drop_invalid_header_fields) if enable_cross_zone_load_balancing is not None: @@ -148,6 +152,18 @@ def desync_mitigation_mode(self) -> Optional[pulumi.Input[str]]: def desync_mitigation_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "desync_mitigation_mode", value) + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + + @dns_record_client_routing_policy.setter + def dns_record_client_routing_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_record_client_routing_policy", value) + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> Optional[pulumi.Input[bool]]: @@ -390,6 +406,7 @@ def __init__(__self__, *, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, dns_name: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -420,6 +437,7 @@ def __init__(__self__, *, :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. :param pulumi.Input[str] dns_name: The DNS name of the load balancer. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -458,6 +476,8 @@ def __init__(__self__, *, pulumi.set(__self__, "desync_mitigation_mode", desync_mitigation_mode) if dns_name is not None: pulumi.set(__self__, "dns_name", dns_name) + if dns_record_client_routing_policy is not None: + pulumi.set(__self__, "dns_record_client_routing_policy", dns_record_client_routing_policy) if drop_invalid_header_fields is not None: pulumi.set(__self__, "drop_invalid_header_fields", drop_invalid_header_fields) if enable_cross_zone_load_balancing is not None: @@ -578,6 +598,18 @@ def dns_name(self) -> Optional[pulumi.Input[str]]: def dns_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dns_name", value) + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + + @dns_record_client_routing_policy.setter + def dns_record_client_routing_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_record_client_routing_policy", value) + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> Optional[pulumi.Input[bool]]: @@ -855,6 +887,7 @@ def __init__(__self__, access_logs: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']]] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -969,6 +1002,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']] access_logs: An Access Logs block. Access Logs documented below. :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -1106,6 +1140,7 @@ def _internal_init(__self__, access_logs: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']]] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -1137,6 +1172,7 @@ def _internal_init(__self__, __props__.__dict__["access_logs"] = access_logs __props__.__dict__["customer_owned_ipv4_pool"] = customer_owned_ipv4_pool __props__.__dict__["desync_mitigation_mode"] = desync_mitigation_mode + __props__.__dict__["dns_record_client_routing_policy"] = dns_record_client_routing_policy __props__.__dict__["drop_invalid_header_fields"] = drop_invalid_header_fields __props__.__dict__["enable_cross_zone_load_balancing"] = enable_cross_zone_load_balancing __props__.__dict__["enable_deletion_protection"] = enable_deletion_protection @@ -1182,6 +1218,7 @@ def get(resource_name: str, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, dns_name: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -1217,6 +1254,7 @@ def get(resource_name: str, :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. :param pulumi.Input[str] dns_name: The DNS name of the load balancer. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -1253,6 +1291,7 @@ def get(resource_name: str, __props__.__dict__["customer_owned_ipv4_pool"] = customer_owned_ipv4_pool __props__.__dict__["desync_mitigation_mode"] = desync_mitigation_mode __props__.__dict__["dns_name"] = dns_name + __props__.__dict__["dns_record_client_routing_policy"] = dns_record_client_routing_policy __props__.__dict__["drop_invalid_header_fields"] = drop_invalid_header_fields __props__.__dict__["enable_cross_zone_load_balancing"] = enable_cross_zone_load_balancing __props__.__dict__["enable_deletion_protection"] = enable_deletion_protection @@ -1325,6 +1364,14 @@ def dns_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "dns_name") + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> pulumi.Output[Optional[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> pulumi.Output[Optional[bool]]: @@ -1425,7 +1472,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/alb/outputs.py b/sdk/python/pulumi_aws/alb/outputs.py index 54dbed6ad4e..445ddffa839 100644 --- a/sdk/python/pulumi_aws/alb/outputs.py +++ b/sdk/python/pulumi_aws/alb/outputs.py @@ -40,6 +40,7 @@ 'TargetGroupHealthCheck', 'TargetGroupStickiness', 'TargetGroupTargetFailover', + 'TargetGroupTargetHealthState', 'GetListenerDefaultActionResult', 'GetListenerDefaultActionAuthenticateCognitoResult', 'GetListenerDefaultActionAuthenticateOidcResult', @@ -2094,6 +2095,41 @@ def on_unhealthy(self) -> str: return pulumi.get(self, "on_unhealthy") +@pulumi.output_type +class TargetGroupTargetHealthState(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enableUnhealthyConnectionTermination": + suggest = "enable_unhealthy_connection_termination" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TargetGroupTargetHealthState. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TargetGroupTargetHealthState.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TargetGroupTargetHealthState.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable_unhealthy_connection_termination: bool): + """ + :param bool enable_unhealthy_connection_termination: Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + pulumi.set(__self__, "enable_unhealthy_connection_termination", enable_unhealthy_connection_termination) + + @property + @pulumi.getter(name="enableUnhealthyConnectionTermination") + def enable_unhealthy_connection_termination(self) -> bool: + """ + Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + return pulumi.get(self, "enable_unhealthy_connection_termination") + + @pulumi.output_type class GetListenerDefaultActionResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/alb/target_group.py b/sdk/python/pulumi_aws/alb/target_group.py index c8280a19895..ce16e62e9b9 100644 --- a/sdk/python/pulumi_aws/alb/target_group.py +++ b/sdk/python/pulumi_aws/alb/target_group.py @@ -34,6 +34,7 @@ def __init__(__self__, *, stickiness: Optional[pulumi.Input['TargetGroupStickinessArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None): """ @@ -56,6 +57,7 @@ def __init__(__self__, *, :param pulumi.Input['TargetGroupStickinessArgs'] stickiness: Stickiness configuration block. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -103,6 +105,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if target_failovers is not None: pulumi.set(__self__, "target_failovers", target_failovers) + if target_health_states is not None: + pulumi.set(__self__, "target_health_states", target_health_states) if target_type is not None: pulumi.set(__self__, "target_type", target_type) if vpc_id is not None: @@ -324,6 +328,18 @@ def target_failovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Targe def target_failovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]]): pulumi.set(self, "target_failovers", value) + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + + @target_health_states.setter + def target_health_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]): + pulumi.set(self, "target_health_states", value) + @property @pulumi.getter(name="targetType") def target_type(self) -> Optional[pulumi.Input[str]]: @@ -381,6 +397,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, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None): """ @@ -406,6 +423,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -462,6 +480,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if target_failovers is not None: pulumi.set(__self__, "target_failovers", target_failovers) + if target_health_states is not None: + pulumi.set(__self__, "target_health_states", target_health_states) if target_type is not None: pulumi.set(__self__, "target_type", target_type) if vpc_id is not None: @@ -722,6 +742,18 @@ def target_failovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Targe def target_failovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]]): pulumi.set(self, "target_failovers", value) + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + + @target_health_states.setter + def target_health_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]): + pulumi.set(self, "target_health_states", value) + @property @pulumi.getter(name="targetType") def target_type(self) -> Optional[pulumi.Input[str]]: @@ -778,6 +810,7 @@ def __init__(__self__, stickiness: Optional[pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -832,6 +865,20 @@ def __init__(__self__, protocol="TCP", vpc_id=aws_vpc["main"]["id"]) ``` + ### Target group with unhealthy connection termination disabled + + ```python + import pulumi + import pulumi_aws as aws + + tcp_example = aws.lb.TargetGroup("tcp-example", + port=25, + protocol="TCP", + vpc_id=aws_vpc["main"]["id"], + target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs( + enable_unhealthy_connection_termination=False, + )]) + ``` ## Import @@ -861,6 +908,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: Stickiness configuration block. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -929,6 +977,20 @@ def __init__(__self__, protocol="TCP", vpc_id=aws_vpc["main"]["id"]) ``` + ### Target group with unhealthy connection termination disabled + + ```python + import pulumi + import pulumi_aws as aws + + tcp_example = aws.lb.TargetGroup("tcp-example", + port=25, + protocol="TCP", + vpc_id=aws_vpc["main"]["id"], + target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs( + enable_unhealthy_connection_termination=False, + )]) + ``` ## Import @@ -971,6 +1033,7 @@ def _internal_init(__self__, stickiness: Optional[pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -1000,6 +1063,7 @@ def _internal_init(__self__, __props__.__dict__["stickiness"] = stickiness __props__.__dict__["tags"] = tags __props__.__dict__["target_failovers"] = target_failovers + __props__.__dict__["target_health_states"] = target_health_states __props__.__dict__["target_type"] = target_type __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["arn"] = None @@ -1040,6 +1104,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, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None) -> 'TargetGroup': """ @@ -1070,6 +1135,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -1106,6 +1172,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["target_failovers"] = target_failovers + __props__.__dict__["target_health_states"] = target_health_states __props__.__dict__["target_type"] = target_type __props__.__dict__["vpc_id"] = vpc_id return TargetGroup(resource_name, opts=opts, __props__=__props__) @@ -1128,7 +1195,7 @@ def arn_suffix(self) -> pulumi.Output[str]: @property @pulumi.getter(name="connectionTermination") - def connection_termination(self) -> pulumi.Output[Optional[bool]]: + def connection_termination(self) -> pulumi.Output[bool]: """ Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. """ @@ -1192,7 +1259,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. """ @@ -1281,6 +1348,14 @@ def target_failovers(self) -> pulumi.Output[Sequence['outputs.TargetGroupTargetF """ return pulumi.get(self, "target_failovers") + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> pulumi.Output[Sequence['outputs.TargetGroupTargetHealthState']]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + @property @pulumi.getter(name="targetType") def target_type(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/autoscaling/group.py b/sdk/python/pulumi_aws/autoscaling/group.py index a9e6711c98b..4bf20085055 100644 --- a/sdk/python/pulumi_aws/autoscaling/group.py +++ b/sdk/python/pulumi_aws/autoscaling/group.py @@ -2600,7 +2600,7 @@ def launch_configuration(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="launchTemplate") - def launch_template(self) -> pulumi.Output[Optional['outputs.GroupLaunchTemplate']]: + def launch_template(self) -> pulumi.Output['outputs.GroupLaunchTemplate']: """ Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. """ @@ -2661,7 +2661,7 @@ def min_size(self) -> pulumi.Output[int]: @property @pulumi.getter(name="mixedInstancesPolicy") - def mixed_instances_policy(self) -> pulumi.Output[Optional['outputs.GroupMixedInstancesPolicy']]: + def mixed_instances_policy(self) -> pulumi.Output['outputs.GroupMixedInstancesPolicy']: """ Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. """ diff --git a/sdk/python/pulumi_aws/cfg/_inputs.py b/sdk/python/pulumi_aws/cfg/_inputs.py index 95003c88b82..950a90a6cef 100644 --- a/sdk/python/pulumi_aws/cfg/_inputs.py +++ b/sdk/python/pulumi_aws/cfg/_inputs.py @@ -21,6 +21,7 @@ 'RemediationConfigurationExecutionControlsArgs', 'RemediationConfigurationExecutionControlsSsmControlsArgs', 'RemediationConfigurationParameterArgs', + 'RuleEvaluationModeArgs', 'RuleScopeArgs', 'RuleSourceArgs', 'RuleSourceCustomPolicyDetailsArgs', @@ -252,7 +253,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] all_supported: Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resource_types`. Defaults to `true`. :param pulumi.Input[Sequence[pulumi.Input['RecorderRecordingGroupExclusionByResourceTypeArgs']]] exclusion_by_resource_types: An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.To use this option, you must set the useOnly field of RecordingStrategy to `EXCLUSION_BY_RESOURCE_TYPES` Requires `all_supported = false`. Conflicts with `resource_types`. :param pulumi.Input[bool] include_global_resource_types: Specifies whether AWS Config includes all supported types of _global resources_ with the resources that it records. Requires `all_supported = true`. Conflicts with `resource_types`. - :param pulumi.Input[Sequence[pulumi.Input['RecorderRecordingGroupRecordingStrategyArgs']]] recording_strategies: Recording Strategy - see below.. + :param pulumi.Input[Sequence[pulumi.Input['RecorderRecordingGroupRecordingStrategyArgs']]] recording_strategies: Recording Strategy. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. """ if all_supported is not None: @@ -306,7 +307,7 @@ def include_global_resource_types(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="recordingStrategies") def recording_strategies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RecorderRecordingGroupRecordingStrategyArgs']]]]: """ - Recording Strategy - see below.. + Recording Strategy. Detailed below. """ return pulumi.get(self, "recording_strategies") @@ -332,7 +333,7 @@ class RecorderRecordingGroupExclusionByResourceTypeArgs: def __init__(__self__, *, resource_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. """ if resource_types is not None: pulumi.set(__self__, "resource_types", resource_types) @@ -341,7 +342,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceTypes") def resource_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. """ return pulumi.get(self, "resource_types") @@ -499,6 +500,29 @@ def static_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]] pulumi.set(self, "static_values", value) +@pulumi.input_type +class RuleEvaluationModeArgs: + def __init__(__self__, *, + mode: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] mode: The mode of an evaluation. + """ + if mode is not None: + pulumi.set(__self__, "mode", mode) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[str]]: + """ + The mode of an evaluation. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mode", value) + + @pulumi.input_type class RuleScopeArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/cfg/outputs.py b/sdk/python/pulumi_aws/cfg/outputs.py index 56e2854d491..2094e3bc45f 100644 --- a/sdk/python/pulumi_aws/cfg/outputs.py +++ b/sdk/python/pulumi_aws/cfg/outputs.py @@ -22,6 +22,7 @@ 'RemediationConfigurationExecutionControls', 'RemediationConfigurationExecutionControlsSsmControls', 'RemediationConfigurationParameter', + 'RuleEvaluationMode', 'RuleScope', 'RuleSource', 'RuleSourceCustomPolicyDetails', @@ -327,7 +328,7 @@ def __init__(__self__, *, :param bool all_supported: Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resource_types`. Defaults to `true`. :param Sequence['RecorderRecordingGroupExclusionByResourceTypeArgs'] exclusion_by_resource_types: An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.To use this option, you must set the useOnly field of RecordingStrategy to `EXCLUSION_BY_RESOURCE_TYPES` Requires `all_supported = false`. Conflicts with `resource_types`. :param bool include_global_resource_types: Specifies whether AWS Config includes all supported types of _global resources_ with the resources that it records. Requires `all_supported = true`. Conflicts with `resource_types`. - :param Sequence['RecorderRecordingGroupRecordingStrategyArgs'] recording_strategies: Recording Strategy - see below.. + :param Sequence['RecorderRecordingGroupRecordingStrategyArgs'] recording_strategies: Recording Strategy. Detailed below. :param Sequence[str] resource_types: A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. """ if all_supported is not None: @@ -369,7 +370,7 @@ def include_global_resource_types(self) -> Optional[bool]: @pulumi.getter(name="recordingStrategies") def recording_strategies(self) -> Optional[Sequence['outputs.RecorderRecordingGroupRecordingStrategy']]: """ - Recording Strategy - see below.. + Recording Strategy. Detailed below. """ return pulumi.get(self, "recording_strategies") @@ -404,7 +405,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, resource_types: Optional[Sequence[str]] = None): """ - :param Sequence[str] resource_types: A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + :param Sequence[str] resource_types: A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. """ if resource_types is not None: pulumi.set(__self__, "resource_types", resource_types) @@ -413,7 +414,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceTypes") def resource_types(self) -> Optional[Sequence[str]]: """ - A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `all_supported` must be set to false. + A list that specifies the types of AWS resources for which AWS Config excludes records configuration changes. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. """ return pulumi.get(self, "resource_types") @@ -609,6 +610,25 @@ def static_values(self) -> Optional[Sequence[str]]: return pulumi.get(self, "static_values") +@pulumi.output_type +class RuleEvaluationMode(dict): + def __init__(__self__, *, + mode: Optional[str] = None): + """ + :param str mode: The mode of an evaluation. + """ + if mode is not None: + pulumi.set(__self__, "mode", mode) + + @property + @pulumi.getter + def mode(self) -> Optional[str]: + """ + The mode of an evaluation. + """ + return pulumi.get(self, "mode") + + @pulumi.output_type class RuleScope(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/cfg/recorder.py b/sdk/python/pulumi_aws/cfg/recorder.py index c7aeade382f..60bc8697ab4 100644 --- a/sdk/python/pulumi_aws/cfg/recorder.py +++ b/sdk/python/pulumi_aws/cfg/recorder.py @@ -139,6 +139,7 @@ def __init__(__self__, > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `cfg.RecorderStatus` is a separate resource. ## Example Usage + ### Basic Usage ```python import pulumi @@ -155,6 +156,24 @@ def __init__(__self__, role = aws.iam.Role("role", assume_role_policy=assume_role.json) foo = aws.cfg.Recorder("foo", role_arn=role.arn) ``` + ### Exclude Resources Types Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.cfg.Recorder("foo", + role_arn=aws_iam_role["r"]["arn"], + recording_group=aws.cfg.RecorderRecordingGroupArgs( + all_supported=False, + exclusion_by_resource_types=[aws.cfg.RecorderRecordingGroupExclusionByResourceTypeArgs( + resource_types=["AWS::EC2::Instance"], + )], + recording_strategies=[aws.cfg.RecorderRecordingGroupRecordingStrategyArgs( + use_only="EXCLUSION_BY_RESOURCE_TYPES", + )], + )) + ``` ## Import @@ -182,6 +201,7 @@ def __init__(__self__, > **Note:** _Starting_ the Configuration Recorder requires a delivery channel (while delivery channel creation requires Configuration Recorder). This is why `cfg.RecorderStatus` is a separate resource. ## Example Usage + ### Basic Usage ```python import pulumi @@ -198,6 +218,24 @@ def __init__(__self__, role = aws.iam.Role("role", assume_role_policy=assume_role.json) foo = aws.cfg.Recorder("foo", role_arn=role.arn) ``` + ### Exclude Resources Types Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.cfg.Recorder("foo", + role_arn=aws_iam_role["r"]["arn"], + recording_group=aws.cfg.RecorderRecordingGroupArgs( + all_supported=False, + exclusion_by_resource_types=[aws.cfg.RecorderRecordingGroupExclusionByResourceTypeArgs( + resource_types=["AWS::EC2::Instance"], + )], + recording_strategies=[aws.cfg.RecorderRecordingGroupRecordingStrategyArgs( + use_only="EXCLUSION_BY_RESOURCE_TYPES", + )], + )) + ``` ## Import diff --git a/sdk/python/pulumi_aws/cfg/rule.py b/sdk/python/pulumi_aws/cfg/rule.py index a307dd051f0..93b9ad4b133 100644 --- a/sdk/python/pulumi_aws/cfg/rule.py +++ b/sdk/python/pulumi_aws/cfg/rule.py @@ -18,6 +18,7 @@ class RuleArgs: def __init__(__self__, *, source: pulumi.Input['RuleSourceArgs'], description: Optional[pulumi.Input[str]] = None, + evaluation_modes: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]] = None, input_parameters: Optional[pulumi.Input[str]] = None, maximum_execution_frequency: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -27,6 +28,7 @@ def __init__(__self__, *, The set of arguments for constructing a Rule resource. :param pulumi.Input['RuleSourceArgs'] source: Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources. See Scope Below. :param pulumi.Input[str] description: Description of the rule + :param pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]] evaluation_modes: The modes the Config rule can be evaluated in. See Evaluation Mode for more details. :param pulumi.Input[str] input_parameters: A string in JSON format that is passed to the AWS Config rule Lambda function. :param pulumi.Input[str] maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. :param pulumi.Input[str] name: The name of the rule @@ -36,6 +38,8 @@ def __init__(__self__, *, pulumi.set(__self__, "source", source) if description is not None: pulumi.set(__self__, "description", description) + if evaluation_modes is not None: + pulumi.set(__self__, "evaluation_modes", evaluation_modes) if input_parameters is not None: pulumi.set(__self__, "input_parameters", input_parameters) if maximum_execution_frequency is not None: @@ -71,6 +75,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="evaluationModes") + def evaluation_modes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]]: + """ + The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + """ + return pulumi.get(self, "evaluation_modes") + + @evaluation_modes.setter + def evaluation_modes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]]): + pulumi.set(self, "evaluation_modes", value) + @property @pulumi.getter(name="inputParameters") def input_parameters(self) -> Optional[pulumi.Input[str]]: @@ -137,6 +153,7 @@ class _RuleState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + evaluation_modes: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]] = None, input_parameters: Optional[pulumi.Input[str]] = None, maximum_execution_frequency: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -149,6 +166,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Rule resources. :param pulumi.Input[str] arn: The ARN of the config rule :param pulumi.Input[str] description: Description of the rule + :param pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]] evaluation_modes: The modes the Config rule can be evaluated in. See Evaluation Mode for more details. :param pulumi.Input[str] input_parameters: A string in JSON format that is passed to the AWS Config rule Lambda function. :param pulumi.Input[str] maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. :param pulumi.Input[str] name: The name of the rule @@ -162,6 +180,8 @@ def __init__(__self__, *, pulumi.set(__self__, "arn", arn) if description is not None: pulumi.set(__self__, "description", description) + if evaluation_modes is not None: + pulumi.set(__self__, "evaluation_modes", evaluation_modes) if input_parameters is not None: pulumi.set(__self__, "input_parameters", input_parameters) if maximum_execution_frequency is not None: @@ -206,6 +226,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="evaluationModes") + def evaluation_modes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]]: + """ + The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + """ + return pulumi.get(self, "evaluation_modes") + + @evaluation_modes.setter + def evaluation_modes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEvaluationModeArgs']]]]): + pulumi.set(self, "evaluation_modes", value) + @property @pulumi.getter(name="inputParameters") def input_parameters(self) -> Optional[pulumi.Input[str]]: @@ -312,6 +344,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + evaluation_modes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEvaluationModeArgs']]]]] = None, input_parameters: Optional[pulumi.Input[str]] = None, maximum_execution_frequency: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -422,6 +455,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] description: Description of the rule + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEvaluationModeArgs']]]] evaluation_modes: The modes the Config rule can be evaluated in. See Evaluation Mode for more details. :param pulumi.Input[str] input_parameters: A string in JSON format that is passed to the AWS Config rule Lambda function. :param pulumi.Input[str] maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. :param pulumi.Input[str] name: The name of the rule @@ -551,6 +585,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + evaluation_modes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEvaluationModeArgs']]]]] = None, input_parameters: Optional[pulumi.Input[str]] = None, maximum_execution_frequency: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -567,6 +602,7 @@ def _internal_init(__self__, __props__ = RuleArgs.__new__(RuleArgs) __props__.__dict__["description"] = description + __props__.__dict__["evaluation_modes"] = evaluation_modes __props__.__dict__["input_parameters"] = input_parameters __props__.__dict__["maximum_execution_frequency"] = maximum_execution_frequency __props__.__dict__["name"] = name @@ -592,6 +628,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + evaluation_modes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEvaluationModeArgs']]]]] = None, input_parameters: Optional[pulumi.Input[str]] = None, maximum_execution_frequency: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -609,6 +646,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The ARN of the config rule :param pulumi.Input[str] description: Description of the rule + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleEvaluationModeArgs']]]] evaluation_modes: The modes the Config rule can be evaluated in. See Evaluation Mode for more details. :param pulumi.Input[str] input_parameters: A string in JSON format that is passed to the AWS Config rule Lambda function. :param pulumi.Input[str] maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. :param pulumi.Input[str] name: The name of the rule @@ -624,6 +662,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["description"] = description + __props__.__dict__["evaluation_modes"] = evaluation_modes __props__.__dict__["input_parameters"] = input_parameters __props__.__dict__["maximum_execution_frequency"] = maximum_execution_frequency __props__.__dict__["name"] = name @@ -650,6 +689,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="evaluationModes") + def evaluation_modes(self) -> pulumi.Output[Sequence['outputs.RuleEvaluationMode']]: + """ + The modes the Config rule can be evaluated in. See Evaluation Mode for more details. + """ + return pulumi.get(self, "evaluation_modes") + @property @pulumi.getter(name="inputParameters") def input_parameters(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index f51b82c895c..cd5ccadd41f 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -3965,7 +3965,7 @@ def __init__(__self__, *, :param pulumi.Input[int] throughput: Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volume_type` of `gp3`. :param pulumi.Input[str] volume_id: ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. :param pulumi.Input[int] volume_size: Size of the volume in gibibytes (GiB). - :param pulumi.Input[str] volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + :param pulumi.Input[str] volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -4102,7 +4102,7 @@ def volume_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[pulumi.Input[str]]: """ - Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -14839,7 +14839,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the device. :param pulumi.Input[int] throughput: Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volume_type` of `gp3`. :param pulumi.Input[int] volume_size: Size of the volume in gibibytes (GiB). - :param pulumi.Input[str] volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + :param pulumi.Input[str] volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -14973,7 +14973,7 @@ def volume_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[pulumi.Input[str]]: """ - Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index a75012cb23b..dd6635c683a 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -4142,7 +4142,7 @@ def __init__(__self__, *, :param int throughput: Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volume_type` of `gp3`. :param str volume_id: ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. :param int volume_size: Size of the volume in gibibytes (GiB). - :param str volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + :param str volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -4243,7 +4243,7 @@ def volume_size(self) -> Optional[int]: @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[str]: """ - Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -14372,7 +14372,7 @@ def __init__(__self__, *, :param Mapping[str, str] tags: Map of tags to assign to the device. :param int throughput: Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volume_type` of `gp3`. :param int volume_size: Size of the volume in gibibytes (GiB). - :param str volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + :param str volume_type: Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ @@ -14470,7 +14470,7 @@ def volume_size(self) -> Optional[int]: @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[str]: """ - Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. + Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kms_key_id` settings of the `root_block_device` requires resource replacement. """ diff --git a/sdk/python/pulumi_aws/ec2/vpc_ipam_pool_cidr.py b/sdk/python/pulumi_aws/ec2/vpc_ipam_pool_cidr.py index 3ae715aab76..9d1d48e9567 100644 --- a/sdk/python/pulumi_aws/ec2/vpc_ipam_pool_cidr.py +++ b/sdk/python/pulumi_aws/ec2/vpc_ipam_pool_cidr.py @@ -190,6 +190,50 @@ def __init__(__self__, > **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in either a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role. + ## Example Usage + + Basic usage: + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_region() + example_vpc_ipam = aws.ec2.VpcIpam("exampleVpcIpam", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs( + region_name=current.name, + )]) + example_vpc_ipam_pool = aws.ec2.VpcIpamPool("exampleVpcIpamPool", + address_family="ipv4", + ipam_scope_id=example_vpc_ipam.private_default_scope_id, + locale=current.name) + example_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr("exampleVpcIpamPoolCidr", + ipam_pool_id=example_vpc_ipam_pool.id, + cidr="172.20.0.0/16") + ``` + + Provision Public IPv6 Pool CIDRs: + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_region() + example = aws.ec2.VpcIpam("example", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs( + region_name=current.name, + )]) + ipv6_test_public_vpc_ipam_pool = aws.ec2.VpcIpamPool("ipv6TestPublicVpcIpamPool", + address_family="ipv6", + ipam_scope_id=example.public_default_scope_id, + locale="us-east-1", + description="public ipv6", + publicly_advertisable=False, + public_ip_source="amazon", + aws_service="ec2") + ipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", + ipam_pool_id=ipv6_test_public_vpc_ipam_pool.id, + netmask_length=52) + ``` + ## Import Using `pulumi import`, import IPAMs using the `_`. For example: @@ -221,6 +265,50 @@ def __init__(__self__, > **NOTE:** In order to deprovision CIDRs all Allocations must be released. Allocations created by a VPC take up to 30 minutes to be released. However, for IPAM to properly manage the removal of allocation records created by VPCs and other resources, you must [grant it permissions](https://docs.aws.amazon.com/vpc/latest/ipam/choose-single-user-or-orgs-ipam.html) in either a single account or organizationally. If you are unable to deprovision a cidr after waiting over 30 minutes, you may be missing the Service Linked Role. + ## Example Usage + + Basic usage: + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_region() + example_vpc_ipam = aws.ec2.VpcIpam("exampleVpcIpam", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs( + region_name=current.name, + )]) + example_vpc_ipam_pool = aws.ec2.VpcIpamPool("exampleVpcIpamPool", + address_family="ipv4", + ipam_scope_id=example_vpc_ipam.private_default_scope_id, + locale=current.name) + example_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr("exampleVpcIpamPoolCidr", + ipam_pool_id=example_vpc_ipam_pool.id, + cidr="172.20.0.0/16") + ``` + + Provision Public IPv6 Pool CIDRs: + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_region() + example = aws.ec2.VpcIpam("example", operating_regions=[aws.ec2.VpcIpamOperatingRegionArgs( + region_name=current.name, + )]) + ipv6_test_public_vpc_ipam_pool = aws.ec2.VpcIpamPool("ipv6TestPublicVpcIpamPool", + address_family="ipv6", + ipam_scope_id=example.public_default_scope_id, + locale="us-east-1", + description="public ipv6", + publicly_advertisable=False, + public_ip_source="amazon", + aws_service="ec2") + ipv6_test_public_vpc_ipam_pool_cidr = aws.ec2.VpcIpamPoolCidr("ipv6TestPublicVpcIpamPoolCidr", + ipam_pool_id=ipv6_test_public_vpc_ipam_pool.id, + netmask_length=52) + ``` + ## Import Using `pulumi import`, import IPAMs using the `_`. For example: diff --git a/sdk/python/pulumi_aws/ec2/vpc_ipv6_cidr_block_association.py b/sdk/python/pulumi_aws/ec2/vpc_ipv6_cidr_block_association.py index f963fb9d85b..15bbea962f8 100644 --- a/sdk/python/pulumi_aws/ec2/vpc_ipv6_cidr_block_association.py +++ b/sdk/python/pulumi_aws/ec2/vpc_ipv6_cidr_block_association.py @@ -22,7 +22,7 @@ def __init__(__self__, *, The set of arguments for constructing a VpcIpv6CidrBlockAssociation resource. :param pulumi.Input[str] ipv6_ipam_pool_id: The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. :param pulumi.Input[str] vpc_id: The ID of the VPC to make the association with. - :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. :param pulumi.Input[int] ipv6_netmask_length: The netmask length of the IPv6 CIDR you want to allocate to this VPC. Requires specifying a `ipv6_ipam_pool_id`. This parameter is optional if the IPAM pool has `allocation_default_netmask` set, otherwise it or `cidr_block` are required """ pulumi.set(__self__, "ipv6_ipam_pool_id", ipv6_ipam_pool_id) @@ -60,7 +60,7 @@ def vpc_id(self, value: pulumi.Input[str]): @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[pulumi.Input[str]]: """ - The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -90,7 +90,7 @@ def __init__(__self__, *, vpc_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering VpcIpv6CidrBlockAssociation resources. - :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. :param pulumi.Input[str] ipv6_ipam_pool_id: The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. :param pulumi.Input[int] ipv6_netmask_length: The netmask length of the IPv6 CIDR you want to allocate to this VPC. Requires specifying a `ipv6_ipam_pool_id`. This parameter is optional if the IPAM pool has `allocation_default_netmask` set, otherwise it or `cidr_block` are required :param pulumi.Input[str] vpc_id: The ID of the VPC to make the association with. @@ -108,7 +108,7 @@ def __init__(__self__, *, @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> Optional[pulumi.Input[str]]: """ - The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. """ return pulumi.get(self, "ipv6_cidr_block") @@ -190,7 +190,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] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. :param pulumi.Input[str] ipv6_ipam_pool_id: The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. :param pulumi.Input[int] ipv6_netmask_length: The netmask length of the IPv6 CIDR you want to allocate to this VPC. Requires specifying a `ipv6_ipam_pool_id`. This parameter is optional if the IPAM pool has `allocation_default_netmask` set, otherwise it or `cidr_block` are required :param pulumi.Input[str] vpc_id: The ID of the VPC to make the association with. @@ -283,7 +283,7 @@ 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] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + :param pulumi.Input[str] ipv6_cidr_block: The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. :param pulumi.Input[str] ipv6_ipam_pool_id: The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. :param pulumi.Input[int] ipv6_netmask_length: The netmask length of the IPv6 CIDR you want to allocate to this VPC. Requires specifying a `ipv6_ipam_pool_id`. This parameter is optional if the IPAM pool has `allocation_default_netmask` set, otherwise it or `cidr_block` are required :param pulumi.Input[str] vpc_id: The ID of the VPC to make the association with. @@ -302,7 +302,7 @@ def get(resource_name: str, @pulumi.getter(name="ipv6CidrBlock") def ipv6_cidr_block(self) -> pulumi.Output[str]: """ - The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and he IPAM pool does not have `allocation_default_netmask` set. + The IPv6 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using `ipv6_netmask_length`. This parameter is required if `ipv6_netmask_length` is not set and the IPAM pool does not have `allocation_default_netmask` set. """ return pulumi.get(self, "ipv6_cidr_block") diff --git a/sdk/python/pulumi_aws/ec2clientvpn/endpoint.py b/sdk/python/pulumi_aws/ec2clientvpn/endpoint.py index 81f358952b6..dbfbacf21fe 100644 --- a/sdk/python/pulumi_aws/ec2clientvpn/endpoint.py +++ b/sdk/python/pulumi_aws/ec2clientvpn/endpoint.py @@ -287,6 +287,7 @@ def __init__(__self__, *, dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, self_service_portal: Optional[pulumi.Input[str]] = None, + self_service_portal_url: Optional[pulumi.Input[str]] = None, server_certificate_arn: Optional[pulumi.Input[str]] = None, session_timeout_hours: Optional[pulumi.Input[int]] = None, split_tunnel: Optional[pulumi.Input[bool]] = None, @@ -308,6 +309,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the connecting device is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups. :param pulumi.Input[str] self_service_portal: Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. + :param pulumi.Input[str] self_service_portal_url: The URL of the self-service portal. :param pulumi.Input[str] server_certificate_arn: The ARN of the ACM server certificate. :param pulumi.Input[int] session_timeout_hours: The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` :param pulumi.Input[bool] split_tunnel: Indicates whether split-tunnel is enabled on VPN endpoint. Default value is `false`. @@ -339,6 +341,8 @@ def __init__(__self__, *, pulumi.set(__self__, "security_group_ids", security_group_ids) if self_service_portal is not None: pulumi.set(__self__, "self_service_portal", self_service_portal) + if self_service_portal_url is not None: + pulumi.set(__self__, "self_service_portal_url", self_service_portal_url) if server_certificate_arn is not None: pulumi.set(__self__, "server_certificate_arn", server_certificate_arn) if session_timeout_hours is not None: @@ -491,6 +495,18 @@ def self_service_portal(self) -> Optional[pulumi.Input[str]]: def self_service_portal(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "self_service_portal", value) + @property + @pulumi.getter(name="selfServicePortalUrl") + def self_service_portal_url(self) -> Optional[pulumi.Input[str]]: + """ + The URL of the self-service portal. + """ + return pulumi.get(self, "self_service_portal_url") + + @self_service_portal_url.setter + def self_service_portal_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "self_service_portal_url", value) + @property @pulumi.getter(name="serverCertificateArn") def server_certificate_arn(self) -> Optional[pulumi.Input[str]]: @@ -770,6 +786,7 @@ def _internal_init(__self__, __props__.__dict__["vpn_port"] = vpn_port __props__.__dict__["arn"] = None __props__.__dict__["dns_name"] = None + __props__.__dict__["self_service_portal_url"] = None __props__.__dict__["tags_all"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["tagsAll"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) @@ -794,6 +811,7 @@ def get(resource_name: str, dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, self_service_portal: Optional[pulumi.Input[str]] = None, + self_service_portal_url: Optional[pulumi.Input[str]] = None, server_certificate_arn: Optional[pulumi.Input[str]] = None, session_timeout_hours: Optional[pulumi.Input[int]] = None, split_tunnel: Optional[pulumi.Input[bool]] = None, @@ -820,6 +838,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address of the connecting device is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups. :param pulumi.Input[str] self_service_portal: Specify whether to enable the self-service portal for the Client VPN endpoint. Values can be `enabled` or `disabled`. Default value is `disabled`. + :param pulumi.Input[str] self_service_portal_url: The URL of the self-service portal. :param pulumi.Input[str] server_certificate_arn: The ARN of the ACM server certificate. :param pulumi.Input[int] session_timeout_hours: The maximum session duration is a trigger by which end-users are required to re-authenticate prior to establishing a VPN session. Default value is `24` - Valid values: `8 | 10 | 12 | 24` :param pulumi.Input[bool] split_tunnel: Indicates whether split-tunnel is enabled on VPN endpoint. Default value is `false`. @@ -844,6 +863,7 @@ def get(resource_name: str, __props__.__dict__["dns_servers"] = dns_servers __props__.__dict__["security_group_ids"] = security_group_ids __props__.__dict__["self_service_portal"] = self_service_portal + __props__.__dict__["self_service_portal_url"] = self_service_portal_url __props__.__dict__["server_certificate_arn"] = server_certificate_arn __props__.__dict__["session_timeout_hours"] = session_timeout_hours __props__.__dict__["split_tunnel"] = split_tunnel @@ -942,6 +962,14 @@ def self_service_portal(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "self_service_portal") + @property + @pulumi.getter(name="selfServicePortalUrl") + def self_service_portal_url(self) -> pulumi.Output[str]: + """ + The URL of the self-service portal. + """ + return pulumi.get(self, "self_service_portal_url") + @property @pulumi.getter(name="serverCertificateArn") def server_certificate_arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py b/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py index a85c66f549d..3868d356c6a 100644 --- a/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py +++ b/sdk/python/pulumi_aws/ec2clientvpn/get_endpoint.py @@ -23,7 +23,7 @@ class GetEndpointResult: """ A collection of values returned by getEndpoint. """ - def __init__(__self__, arn=None, authentication_options=None, client_cidr_block=None, client_connect_options=None, client_login_banner_options=None, client_vpn_endpoint_id=None, connection_log_options=None, description=None, dns_name=None, dns_servers=None, filters=None, id=None, security_group_ids=None, self_service_portal=None, server_certificate_arn=None, session_timeout_hours=None, split_tunnel=None, tags=None, transport_protocol=None, vpc_id=None, vpn_port=None): + def __init__(__self__, arn=None, authentication_options=None, client_cidr_block=None, client_connect_options=None, client_login_banner_options=None, client_vpn_endpoint_id=None, connection_log_options=None, description=None, dns_name=None, dns_servers=None, filters=None, id=None, security_group_ids=None, self_service_portal=None, self_service_portal_url=None, server_certificate_arn=None, session_timeout_hours=None, split_tunnel=None, tags=None, transport_protocol=None, vpc_id=None, vpn_port=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -66,6 +66,9 @@ def __init__(__self__, arn=None, authentication_options=None, client_cidr_block= if self_service_portal and not isinstance(self_service_portal, str): raise TypeError("Expected argument 'self_service_portal' to be a str") pulumi.set(__self__, "self_service_portal", self_service_portal) + if self_service_portal_url and not isinstance(self_service_portal_url, str): + raise TypeError("Expected argument 'self_service_portal_url' to be a str") + pulumi.set(__self__, "self_service_portal_url", self_service_portal_url) if server_certificate_arn and not isinstance(server_certificate_arn, str): raise TypeError("Expected argument 'server_certificate_arn' to be a str") pulumi.set(__self__, "server_certificate_arn", server_certificate_arn) @@ -194,6 +197,14 @@ def self_service_portal(self) -> str: """ return pulumi.get(self, "self_service_portal") + @property + @pulumi.getter(name="selfServicePortalUrl") + def self_service_portal_url(self) -> str: + """ + The URL of the self-service portal. + """ + return pulumi.get(self, "self_service_portal_url") + @property @pulumi.getter(name="serverCertificateArn") def server_certificate_arn(self) -> str: @@ -268,6 +279,7 @@ def __await__(self): id=self.id, security_group_ids=self.security_group_ids, self_service_portal=self.self_service_portal, + self_service_portal_url=self.self_service_portal_url, server_certificate_arn=self.server_certificate_arn, session_timeout_hours=self.session_timeout_hours, split_tunnel=self.split_tunnel, @@ -332,6 +344,7 @@ def get_endpoint(client_vpn_endpoint_id: Optional[str] = None, id=pulumi.get(__ret__, 'id'), security_group_ids=pulumi.get(__ret__, 'security_group_ids'), self_service_portal=pulumi.get(__ret__, 'self_service_portal'), + self_service_portal_url=pulumi.get(__ret__, 'self_service_portal_url'), server_certificate_arn=pulumi.get(__ret__, 'server_certificate_arn'), session_timeout_hours=pulumi.get(__ret__, 'session_timeout_hours'), split_tunnel=pulumi.get(__ret__, 'split_tunnel'), diff --git a/sdk/python/pulumi_aws/elasticache/cluster.py b/sdk/python/pulumi_aws/elasticache/cluster.py index 05d892cdb3c..3693f2c0e4c 100644 --- a/sdk/python/pulumi_aws/elasticache/cluster.py +++ b/sdk/python/pulumi_aws/elasticache/cluster.py @@ -62,7 +62,7 @@ def __init__(__self__, *, When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] final_snapshot_identifier: Name of your final cluster snapshot. If omitted, no final snapshot will be made. :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[Sequence[pulumi.Input['ClusterLogDeliveryConfigurationArgs']]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details. @@ -81,12 +81,12 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. :param pulumi.Input[str] preferred_outpost_arn: The outpost ARN in which the cache cluster will be created. :param pulumi.Input[str] replication_group_id: ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] snapshot_arns: Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 - :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ @@ -234,7 +234,7 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "engine_version") @@ -418,7 +418,7 @@ def replication_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - One or more VPC security groups associated with the cache cluster + One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "security_group_ids") @@ -478,7 +478,7 @@ def snapshot_window(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subnetGroupName") def subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "subnet_group_name") @@ -570,7 +570,7 @@ def __init__(__self__, *, When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] engine_version_actual: Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. :param pulumi.Input[str] final_snapshot_identifier: Name of your final cluster snapshot. If omitted, no final snapshot will be made. :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. @@ -590,12 +590,12 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. :param pulumi.Input[str] preferred_outpost_arn: The outpost ARN in which the cache cluster will be created. :param pulumi.Input[str] replication_group_id: ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] snapshot_arns: Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 - :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. @@ -807,7 +807,7 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "engine_version") @@ -1003,7 +1003,7 @@ def replication_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - One or more VPC security groups associated with the cache cluster + One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "security_group_ids") @@ -1063,7 +1063,7 @@ def snapshot_window(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subnetGroupName") def subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "subnet_group_name") @@ -1258,7 +1258,7 @@ def __init__(__self__, When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] final_snapshot_identifier: Name of your final cluster snapshot. If omitted, no final snapshot will be made. :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterLogDeliveryConfigurationArgs']]]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details. @@ -1277,12 +1277,12 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. :param pulumi.Input[str] preferred_outpost_arn: The outpost ARN in which the cache cluster will be created. :param pulumi.Input[str] replication_group_id: ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] snapshot_arns: Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 - :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ @@ -1548,7 +1548,7 @@ def get(resource_name: str, When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] engine_version_actual: Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. :param pulumi.Input[str] final_snapshot_identifier: Name of your final cluster snapshot. If omitted, no final snapshot will be made. :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. @@ -1568,12 +1568,12 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] preferred_availability_zones: List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. :param pulumi.Input[str] preferred_outpost_arn: The outpost ARN in which the cache cluster will be created. :param pulumi.Input[str] replication_group_id: ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` :param pulumi.Input[str] snapshot_arns: Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 - :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. @@ -1712,7 +1712,7 @@ def engine_version(self) -> pulumi.Output[str]: When the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. - The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. + The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "engine_version") @@ -1844,7 +1844,7 @@ def replication_group_id(self) -> pulumi.Output[str]: @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> pulumi.Output[Sequence[str]]: """ - One or more VPC security groups associated with the cache cluster + One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "security_group_ids") @@ -1884,7 +1884,7 @@ def snapshot_window(self) -> pulumi.Output[str]: @pulumi.getter(name="subnetGroupName") def subnet_group_name(self) -> pulumi.Output[str]: """ - Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. + Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. Cannot be provided with `replication_group_id.` """ return pulumi.get(self, "subnet_group_name") diff --git a/sdk/python/pulumi_aws/elasticache/replication_group.py b/sdk/python/pulumi_aws/elasticache/replication_group.py index 3913d296f1f..c6ac55fcfd5 100644 --- a/sdk/python/pulumi_aws/elasticache/replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/replication_group.py @@ -27,10 +27,12 @@ def __init__(__self__, *, engine_version: Optional[pulumi.Input[str]] = None, final_snapshot_identifier: Optional[pulumi.Input[str]] = None, global_replication_group_id: Optional[pulumi.Input[str]] = None, + ip_discovery: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, log_delivery_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicationGroupLogDeliveryConfigurationArgs']]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, multi_az_enabled: Optional[pulumi.Input[bool]] = None, + network_type: Optional[pulumi.Input[str]] = None, node_type: Optional[pulumi.Input[str]] = None, notification_topic_arn: Optional[pulumi.Input[str]] = None, num_cache_clusters: Optional[pulumi.Input[int]] = None, @@ -70,10 +72,12 @@ def __init__(__self__, *, The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. :param pulumi.Input[str] final_snapshot_identifier: The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. :param pulumi.Input[str] global_replication_group_id: The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set. + :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[str] kms_key_id: The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. :param pulumi.Input[Sequence[pulumi.Input['ReplicationGroupLogDeliveryConfigurationArgs']]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. :param pulumi.Input[str] maintenance_window: Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` :param pulumi.Input[bool] multi_az_enabled: Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. + :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `num_node_groups`. Defaults to `1`. @@ -88,8 +92,8 @@ def __init__(__self__, *, :param pulumi.Input[str] replication_group_id: Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional: - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: List of cache security group names to associate with this replication group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_arns: List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshot_retention_limit` is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes @@ -121,6 +125,8 @@ def __init__(__self__, *, pulumi.set(__self__, "final_snapshot_identifier", final_snapshot_identifier) if global_replication_group_id is not None: pulumi.set(__self__, "global_replication_group_id", global_replication_group_id) + if ip_discovery is not None: + pulumi.set(__self__, "ip_discovery", ip_discovery) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) if log_delivery_configurations is not None: @@ -129,6 +135,8 @@ def __init__(__self__, *, pulumi.set(__self__, "maintenance_window", maintenance_window) if multi_az_enabled is not None: pulumi.set(__self__, "multi_az_enabled", multi_az_enabled) + if network_type is not None: + pulumi.set(__self__, "network_type", network_type) if node_type is not None: pulumi.set(__self__, "node_type", node_type) if notification_topic_arn is not None: @@ -307,6 +315,18 @@ def global_replication_group_id(self) -> Optional[pulumi.Input[str]]: def global_replication_group_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "global_replication_group_id", value) + @property + @pulumi.getter(name="ipDiscovery") + def ip_discovery(self) -> Optional[pulumi.Input[str]]: + """ + The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + """ + return pulumi.get(self, "ip_discovery") + + @ip_discovery.setter + def ip_discovery(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_discovery", value) + @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: @@ -355,6 +375,18 @@ def multi_az_enabled(self) -> Optional[pulumi.Input[bool]]: def multi_az_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "multi_az_enabled", value) + @property + @pulumi.getter(name="networkType") + def network_type(self) -> Optional[pulumi.Input[str]]: + """ + The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + """ + return pulumi.get(self, "network_type") + + @network_type.setter + def network_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_type", value) + @property @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: @@ -472,7 +504,7 @@ def replication_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_ids") @@ -484,7 +516,7 @@ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="securityGroupNames") def security_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of cache security group names to associate with this replication group. + Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_names") @@ -607,11 +639,13 @@ def __init__(__self__, *, engine_version_actual: Optional[pulumi.Input[str]] = None, final_snapshot_identifier: Optional[pulumi.Input[str]] = None, global_replication_group_id: Optional[pulumi.Input[str]] = None, + ip_discovery: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, log_delivery_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicationGroupLogDeliveryConfigurationArgs']]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, member_clusters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, multi_az_enabled: Optional[pulumi.Input[bool]] = None, + network_type: Optional[pulumi.Input[str]] = None, node_type: Optional[pulumi.Input[str]] = None, notification_topic_arn: Optional[pulumi.Input[str]] = None, num_cache_clusters: Optional[pulumi.Input[int]] = None, @@ -658,11 +692,13 @@ def __init__(__self__, *, :param pulumi.Input[str] engine_version_actual: Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. :param pulumi.Input[str] final_snapshot_identifier: The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. :param pulumi.Input[str] global_replication_group_id: The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set. + :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[str] kms_key_id: The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. :param pulumi.Input[Sequence[pulumi.Input['ReplicationGroupLogDeliveryConfigurationArgs']]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. :param pulumi.Input[str] maintenance_window: Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` :param pulumi.Input[Sequence[pulumi.Input[str]]] member_clusters: Identifiers of all the nodes that are part of this replication group. :param pulumi.Input[bool] multi_az_enabled: Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. + :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `num_node_groups`. Defaults to `1`. @@ -679,8 +715,8 @@ def __init__(__self__, *, :param pulumi.Input[str] replication_group_id: Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional: - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: List of cache security group names to associate with this replication group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_arns: List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshot_retention_limit` is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes @@ -721,6 +757,8 @@ def __init__(__self__, *, pulumi.set(__self__, "final_snapshot_identifier", final_snapshot_identifier) if global_replication_group_id is not None: pulumi.set(__self__, "global_replication_group_id", global_replication_group_id) + if ip_discovery is not None: + pulumi.set(__self__, "ip_discovery", ip_discovery) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) if log_delivery_configurations is not None: @@ -731,6 +769,8 @@ def __init__(__self__, *, pulumi.set(__self__, "member_clusters", member_clusters) if multi_az_enabled is not None: pulumi.set(__self__, "multi_az_enabled", multi_az_enabled) + if network_type is not None: + pulumi.set(__self__, "network_type", network_type) if node_type is not None: pulumi.set(__self__, "node_type", node_type) if notification_topic_arn is not None: @@ -966,6 +1006,18 @@ def global_replication_group_id(self) -> Optional[pulumi.Input[str]]: def global_replication_group_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "global_replication_group_id", value) + @property + @pulumi.getter(name="ipDiscovery") + def ip_discovery(self) -> Optional[pulumi.Input[str]]: + """ + The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + """ + return pulumi.get(self, "ip_discovery") + + @ip_discovery.setter + def ip_discovery(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_discovery", value) + @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: @@ -1026,6 +1078,18 @@ def multi_az_enabled(self) -> Optional[pulumi.Input[bool]]: def multi_az_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "multi_az_enabled", value) + @property + @pulumi.getter(name="networkType") + def network_type(self) -> Optional[pulumi.Input[str]]: + """ + The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + """ + return pulumi.get(self, "network_type") + + @network_type.setter + def network_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_type", value) + @property @pulumi.getter(name="nodeType") def node_type(self) -> Optional[pulumi.Input[str]]: @@ -1167,7 +1231,7 @@ def replication_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_ids") @@ -1179,7 +1243,7 @@ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="securityGroupNames") def security_group_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of cache security group names to associate with this replication group. + Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_names") @@ -1315,10 +1379,12 @@ def __init__(__self__, engine_version: Optional[pulumi.Input[str]] = None, final_snapshot_identifier: Optional[pulumi.Input[str]] = None, global_replication_group_id: Optional[pulumi.Input[str]] = None, + ip_discovery: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, log_delivery_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationGroupLogDeliveryConfigurationArgs']]]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, multi_az_enabled: Optional[pulumi.Input[bool]] = None, + network_type: Optional[pulumi.Input[str]] = None, node_type: Optional[pulumi.Input[str]] = None, notification_topic_arn: Optional[pulumi.Input[str]] = None, num_cache_clusters: Optional[pulumi.Input[int]] = None, @@ -1512,10 +1578,12 @@ def __init__(__self__, The actual engine version used is returned in the attribute `engine_version_actual`, see Attribute Reference below. :param pulumi.Input[str] final_snapshot_identifier: The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. :param pulumi.Input[str] global_replication_group_id: The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set. + :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[str] kms_key_id: The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationGroupLogDeliveryConfigurationArgs']]]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. :param pulumi.Input[str] maintenance_window: Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` :param pulumi.Input[bool] multi_az_enabled: Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. + :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `num_node_groups`. Defaults to `1`. @@ -1530,8 +1598,8 @@ def __init__(__self__, :param pulumi.Input[str] replication_group_id: Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional: - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: List of cache security group names to associate with this replication group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_arns: List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshot_retention_limit` is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes @@ -1726,10 +1794,12 @@ def _internal_init(__self__, engine_version: Optional[pulumi.Input[str]] = None, final_snapshot_identifier: Optional[pulumi.Input[str]] = None, global_replication_group_id: Optional[pulumi.Input[str]] = None, + ip_discovery: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, log_delivery_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationGroupLogDeliveryConfigurationArgs']]]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, multi_az_enabled: Optional[pulumi.Input[bool]] = None, + network_type: Optional[pulumi.Input[str]] = None, node_type: Optional[pulumi.Input[str]] = None, notification_topic_arn: Optional[pulumi.Input[str]] = None, num_cache_clusters: Optional[pulumi.Input[int]] = None, @@ -1769,10 +1839,12 @@ def _internal_init(__self__, __props__.__dict__["engine_version"] = engine_version __props__.__dict__["final_snapshot_identifier"] = final_snapshot_identifier __props__.__dict__["global_replication_group_id"] = global_replication_group_id + __props__.__dict__["ip_discovery"] = ip_discovery __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["log_delivery_configurations"] = log_delivery_configurations __props__.__dict__["maintenance_window"] = maintenance_window __props__.__dict__["multi_az_enabled"] = multi_az_enabled + __props__.__dict__["network_type"] = network_type __props__.__dict__["node_type"] = node_type __props__.__dict__["notification_topic_arn"] = notification_topic_arn __props__.__dict__["num_cache_clusters"] = num_cache_clusters @@ -1827,11 +1899,13 @@ def get(resource_name: str, engine_version_actual: Optional[pulumi.Input[str]] = None, final_snapshot_identifier: Optional[pulumi.Input[str]] = None, global_replication_group_id: Optional[pulumi.Input[str]] = None, + ip_discovery: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, log_delivery_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationGroupLogDeliveryConfigurationArgs']]]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, member_clusters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, multi_az_enabled: Optional[pulumi.Input[bool]] = None, + network_type: Optional[pulumi.Input[str]] = None, node_type: Optional[pulumi.Input[str]] = None, notification_topic_arn: Optional[pulumi.Input[str]] = None, num_cache_clusters: Optional[pulumi.Input[int]] = None, @@ -1883,11 +1957,13 @@ def get(resource_name: str, :param pulumi.Input[str] engine_version_actual: Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. :param pulumi.Input[str] final_snapshot_identifier: The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. :param pulumi.Input[str] global_replication_group_id: The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `global_replication_group_id` is set, the `num_node_groups` parameter cannot be set. + :param pulumi.Input[str] ip_discovery: The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. :param pulumi.Input[str] kms_key_id: The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `at_rest_encryption_enabled = true`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationGroupLogDeliveryConfigurationArgs']]]] log_delivery_configurations: Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details. :param pulumi.Input[str] maintenance_window: Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` :param pulumi.Input[Sequence[pulumi.Input[str]]] member_clusters: Identifiers of all the nodes that are part of this replication group. :param pulumi.Input[bool] multi_az_enabled: Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automatic_failover_enabled` must also be enabled. Defaults to `false`. + :param pulumi.Input[str] network_type: The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. :param pulumi.Input[str] node_type: Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `global_replication_group_id` is set. Cannot be set if `global_replication_group_id` is set. :param pulumi.Input[str] notification_topic_arn: ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` :param pulumi.Input[int] num_cache_clusters: Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `num_node_groups`. Defaults to `1`. @@ -1904,8 +1980,8 @@ def get(resource_name: str, :param pulumi.Input[str] replication_group_id: Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional: - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: List of cache security group names to associate with this replication group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_names: Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. :param pulumi.Input[Sequence[pulumi.Input[str]]] snapshot_arns: List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. :param pulumi.Input[str] snapshot_name: Name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. :param pulumi.Input[int] snapshot_retention_limit: Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshot_retention_limit` is set to zero (0), backups are turned off. Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes @@ -1935,11 +2011,13 @@ def get(resource_name: str, __props__.__dict__["engine_version_actual"] = engine_version_actual __props__.__dict__["final_snapshot_identifier"] = final_snapshot_identifier __props__.__dict__["global_replication_group_id"] = global_replication_group_id + __props__.__dict__["ip_discovery"] = ip_discovery __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["log_delivery_configurations"] = log_delivery_configurations __props__.__dict__["maintenance_window"] = maintenance_window __props__.__dict__["member_clusters"] = member_clusters __props__.__dict__["multi_az_enabled"] = multi_az_enabled + __props__.__dict__["network_type"] = network_type __props__.__dict__["node_type"] = node_type __props__.__dict__["notification_topic_arn"] = notification_topic_arn __props__.__dict__["num_cache_clusters"] = num_cache_clusters @@ -2091,6 +2169,14 @@ def global_replication_group_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "global_replication_group_id") + @property + @pulumi.getter(name="ipDiscovery") + def ip_discovery(self) -> pulumi.Output[str]: + """ + The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`. + """ + return pulumi.get(self, "ip_discovery") + @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> pulumi.Output[Optional[str]]: @@ -2131,6 +2217,14 @@ def multi_az_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "multi_az_enabled") + @property + @pulumi.getter(name="networkType") + def network_type(self) -> pulumi.Output[str]: + """ + The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dual_stack`. + """ + return pulumi.get(self, "network_type") + @property @pulumi.getter(name="nodeType") def node_type(self) -> pulumi.Output[str]: @@ -2228,7 +2322,7 @@ def replication_group_id(self) -> pulumi.Output[str]: @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> pulumi.Output[Sequence[str]]: """ - One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud + IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_ids") @@ -2236,7 +2330,7 @@ def security_group_ids(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="securityGroupNames") def security_group_names(self) -> pulumi.Output[Sequence[str]]: """ - List of cache security group names to associate with this replication group. + Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. """ return pulumi.get(self, "security_group_names") diff --git a/sdk/python/pulumi_aws/elasticsearch/__init__.py b/sdk/python/pulumi_aws/elasticsearch/__init__.py index cb6158d100e..c73142cd3a4 100644 --- a/sdk/python/pulumi_aws/elasticsearch/__init__.py +++ b/sdk/python/pulumi_aws/elasticsearch/__init__.py @@ -9,5 +9,6 @@ from .domain_policy import * from .domain_saml_options import * from .get_domain import * +from .vpc_endpoint import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/elasticsearch/_inputs.py b/sdk/python/pulumi_aws/elasticsearch/_inputs.py index f9dfbed7bcb..48f558dfa4f 100644 --- a/sdk/python/pulumi_aws/elasticsearch/_inputs.py +++ b/sdk/python/pulumi_aws/elasticsearch/_inputs.py @@ -28,6 +28,7 @@ 'DomainSamlOptionsSamlOptionsIdpArgs', 'DomainSnapshotOptionsArgs', 'DomainVpcOptionsArgs', + 'VpcEndpointVpcOptionsArgs', ] @pulumi.input_type @@ -1106,3 +1107,65 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "vpc_id", value) +@pulumi.input_type +class VpcEndpointVpcOptionsArgs: + def __init__(__self__, *, + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + """ + pulumi.set(__self__, "subnet_ids", subnet_ids) + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnet_ids", value) + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "availability_zones") + + @availability_zones.setter + def availability_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "availability_zones", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + diff --git a/sdk/python/pulumi_aws/elasticsearch/outputs.py b/sdk/python/pulumi_aws/elasticsearch/outputs.py index 82040da0d0a..c961e2e9863 100644 --- a/sdk/python/pulumi_aws/elasticsearch/outputs.py +++ b/sdk/python/pulumi_aws/elasticsearch/outputs.py @@ -29,6 +29,7 @@ 'DomainSamlOptionsSamlOptionsIdp', 'DomainSnapshotOptions', 'DomainVpcOptions', + 'VpcEndpointVpcOptions', 'GetDomainAdvancedSecurityOptionResult', 'GetDomainAutoTuneOptionResult', 'GetDomainAutoTuneOptionMaintenanceScheduleResult', @@ -1198,6 +1199,75 @@ def vpc_id(self) -> Optional[str]: return pulumi.get(self, "vpc_id") +@pulumi.output_type +class VpcEndpointVpcOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetIds": + suggest = "subnet_ids" + elif key == "availabilityZones": + suggest = "availability_zones" + elif key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "vpcId": + suggest = "vpc_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpcEndpointVpcOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpcEndpointVpcOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpcEndpointVpcOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_ids: Sequence[str], + availability_zones: Optional[Sequence[str]] = None, + security_group_ids: Optional[Sequence[str]] = None, + vpc_id: Optional[str] = None): + """ + :param Sequence[str] subnet_ids: A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + :param Sequence[str] security_group_ids: The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + """ + pulumi.set(__self__, "subnet_ids", subnet_ids) + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: + """ + A list of subnet IDs associated with the VPC endpoints for the domain. If your domain uses multiple Availability Zones, you need to provide two subnet IDs, one per zone. Otherwise, provide only one. + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "availability_zones") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: + """ + The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, elasticsearch Service uses the default security group for the VPC. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[str]: + return pulumi.get(self, "vpc_id") + + @pulumi.output_type class GetDomainAdvancedSecurityOptionResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/elasticsearch/vpc_endpoint.py b/sdk/python/pulumi_aws/elasticsearch/vpc_endpoint.py new file mode 100644 index 00000000000..eb24890a5e7 --- /dev/null +++ b/sdk/python/pulumi_aws/elasticsearch/vpc_endpoint.py @@ -0,0 +1,282 @@ +# 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__ = ['VpcEndpointArgs', 'VpcEndpoint'] + +@pulumi.input_type +class VpcEndpointArgs: + def __init__(__self__, *, + domain_arn: pulumi.Input[str], + vpc_options: pulumi.Input['VpcEndpointVpcOptionsArgs']): + """ + The set of arguments for constructing a VpcEndpoint resource. + :param pulumi.Input[str] domain_arn: Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + :param pulumi.Input['VpcEndpointVpcOptionsArgs'] vpc_options: Options to specify the subnets and security groups for the endpoint. + """ + pulumi.set(__self__, "domain_arn", domain_arn) + pulumi.set(__self__, "vpc_options", vpc_options) + + @property + @pulumi.getter(name="domainArn") + def domain_arn(self) -> pulumi.Input[str]: + """ + Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + """ + return pulumi.get(self, "domain_arn") + + @domain_arn.setter + def domain_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_arn", value) + + @property + @pulumi.getter(name="vpcOptions") + def vpc_options(self) -> pulumi.Input['VpcEndpointVpcOptionsArgs']: + """ + Options to specify the subnets and security groups for the endpoint. + """ + return pulumi.get(self, "vpc_options") + + @vpc_options.setter + def vpc_options(self, value: pulumi.Input['VpcEndpointVpcOptionsArgs']): + pulumi.set(self, "vpc_options", value) + + +@pulumi.input_type +class _VpcEndpointState: + def __init__(__self__, *, + domain_arn: Optional[pulumi.Input[str]] = None, + endpoint: Optional[pulumi.Input[str]] = None, + vpc_options: Optional[pulumi.Input['VpcEndpointVpcOptionsArgs']] = None): + """ + Input properties used for looking up and filtering VpcEndpoint resources. + :param pulumi.Input[str] domain_arn: Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + :param pulumi.Input[str] endpoint: The connection endpoint ID for connecting to the domain. + :param pulumi.Input['VpcEndpointVpcOptionsArgs'] vpc_options: Options to specify the subnets and security groups for the endpoint. + """ + if domain_arn is not None: + pulumi.set(__self__, "domain_arn", domain_arn) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + if vpc_options is not None: + pulumi.set(__self__, "vpc_options", vpc_options) + + @property + @pulumi.getter(name="domainArn") + def domain_arn(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + """ + return pulumi.get(self, "domain_arn") + + @domain_arn.setter + def domain_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_arn", value) + + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The connection endpoint ID for connecting to the domain. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint", value) + + @property + @pulumi.getter(name="vpcOptions") + def vpc_options(self) -> Optional[pulumi.Input['VpcEndpointVpcOptionsArgs']]: + """ + Options to specify the subnets and security groups for the endpoint. + """ + return pulumi.get(self, "vpc_options") + + @vpc_options.setter + def vpc_options(self, value: Optional[pulumi.Input['VpcEndpointVpcOptionsArgs']]): + pulumi.set(self, "vpc_options", value) + + +class VpcEndpoint(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + domain_arn: Optional[pulumi.Input[str]] = None, + vpc_options: Optional[pulumi.Input[pulumi.InputType['VpcEndpointVpcOptionsArgs']]] = None, + __props__=None): + """ + Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.elasticsearch.VpcEndpoint("foo", + domain_arn=aws_elasticsearch_domain["domain_1"]["arn"], + vpc_options=aws.elasticsearch.VpcEndpointVpcOptionsArgs( + security_group_ids=[ + aws_security_group["test"]["id"], + aws_security_group["test2"]["id"], + ], + subnet_ids=[ + aws_subnet["test"]["id"], + aws_subnet["test2"]["id"], + ], + )) + ``` + + ## Import + + Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: + + ```sh + $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] domain_arn: Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + :param pulumi.Input[pulumi.InputType['VpcEndpointVpcOptionsArgs']] vpc_options: Options to specify the subnets and security groups for the endpoint. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcEndpointArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an [AWS Elasticsearch VPC Endpoint](https://docs.aws.amazon.com/elasticsearch-service/latest/APIReference/API_CreateVpcEndpoint.html). Creates an Amazon elasticsearch Service-managed VPC endpoint. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.elasticsearch.VpcEndpoint("foo", + domain_arn=aws_elasticsearch_domain["domain_1"]["arn"], + vpc_options=aws.elasticsearch.VpcEndpointVpcOptionsArgs( + security_group_ids=[ + aws_security_group["test"]["id"], + aws_security_group["test2"]["id"], + ], + subnet_ids=[ + aws_subnet["test"]["id"], + aws_subnet["test2"]["id"], + ], + )) + ``` + + ## Import + + Using `pulumi import`, import elasticsearch VPC endpoint connections using the `id`. For example: + + ```sh + $ pulumi import aws:elasticsearch/vpcEndpoint:VpcEndpoint example endpoint-id + ``` + + :param str resource_name: The name of the resource. + :param VpcEndpointArgs 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(VpcEndpointArgs, 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, + domain_arn: Optional[pulumi.Input[str]] = None, + vpc_options: Optional[pulumi.Input[pulumi.InputType['VpcEndpointVpcOptionsArgs']]] = 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__ = VpcEndpointArgs.__new__(VpcEndpointArgs) + + if domain_arn is None and not opts.urn: + raise TypeError("Missing required property 'domain_arn'") + __props__.__dict__["domain_arn"] = domain_arn + if vpc_options is None and not opts.urn: + raise TypeError("Missing required property 'vpc_options'") + __props__.__dict__["vpc_options"] = vpc_options + __props__.__dict__["endpoint"] = None + super(VpcEndpoint, __self__).__init__( + 'aws:elasticsearch/vpcEndpoint:VpcEndpoint', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + domain_arn: Optional[pulumi.Input[str]] = None, + endpoint: Optional[pulumi.Input[str]] = None, + vpc_options: Optional[pulumi.Input[pulumi.InputType['VpcEndpointVpcOptionsArgs']]] = None) -> 'VpcEndpoint': + """ + Get an existing VpcEndpoint 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] domain_arn: Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + :param pulumi.Input[str] endpoint: The connection endpoint ID for connecting to the domain. + :param pulumi.Input[pulumi.InputType['VpcEndpointVpcOptionsArgs']] vpc_options: Options to specify the subnets and security groups for the endpoint. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcEndpointState.__new__(_VpcEndpointState) + + __props__.__dict__["domain_arn"] = domain_arn + __props__.__dict__["endpoint"] = endpoint + __props__.__dict__["vpc_options"] = vpc_options + return VpcEndpoint(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="domainArn") + def domain_arn(self) -> pulumi.Output[str]: + """ + Specifies the Amazon Resource Name (ARN) of the domain to create the endpoint for + """ + return pulumi.get(self, "domain_arn") + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Output[str]: + """ + The connection endpoint ID for connecting to the domain. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="vpcOptions") + def vpc_options(self) -> pulumi.Output['outputs.VpcEndpointVpcOptions']: + """ + Options to specify the subnets and security groups for the endpoint. + """ + return pulumi.get(self, "vpc_options") + diff --git a/sdk/python/pulumi_aws/elb/load_balancer.py b/sdk/python/pulumi_aws/elb/load_balancer.py index a40fb814f2f..9d1e232cc57 100644 --- a/sdk/python/pulumi_aws/elb/load_balancer.py +++ b/sdk/python/pulumi_aws/elb/load_balancer.py @@ -1182,7 +1182,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. diff --git a/sdk/python/pulumi_aws/emr/security_configuration.py b/sdk/python/pulumi_aws/emr/security_configuration.py index ac656c03810..d377eec3971 100644 --- a/sdk/python/pulumi_aws/emr/security_configuration.py +++ b/sdk/python/pulumi_aws/emr/security_configuration.py @@ -332,7 +332,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. diff --git a/sdk/python/pulumi_aws/glue/crawler.py b/sdk/python/pulumi_aws/glue/crawler.py index a6b6dfc5b2c..f8124956ffa 100644 --- a/sdk/python/pulumi_aws/glue/crawler.py +++ b/sdk/python/pulumi_aws/glue/crawler.py @@ -47,15 +47,15 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['CrawlerDeltaTargetArgs']]] delta_targets: List of nested Delta Lake target arguments. See Delta Target below. :param pulumi.Input[str] description: Description of the crawler. :param pulumi.Input[Sequence[pulumi.Input['CrawlerDynamodbTargetArgs']]] dynamodb_targets: List of nested DynamoDB target arguments. See Dynamodb Target below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]] hudi_targets: List nested Hudi target arguments. See Iceberg Target below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]] iceberg_targets: List nested Iceberg target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]] hudi_targets: List of nested Hudi target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]] iceberg_targets: List of nested Iceberg target arguments. See Iceberg Target below. :param pulumi.Input[Sequence[pulumi.Input['CrawlerJdbcTargetArgs']]] jdbc_targets: List of nested JBDC target arguments. See JDBC Target below. :param pulumi.Input['CrawlerLakeFormationConfigurationArgs'] lake_formation_configuration: Specifies Lake Formation configuration settings for the crawler. See Lake Formation Configuration below. :param pulumi.Input['CrawlerLineageConfigurationArgs'] lineage_configuration: Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]] mongodb_targets: List nested MongoDB target arguments. See MongoDB Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]] mongodb_targets: List of nested MongoDB target arguments. See MongoDB Target below. :param pulumi.Input[str] name: Name of the crawler. :param pulumi.Input['CrawlerRecrawlPolicyArgs'] recrawl_policy: A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.. See Recrawl Policy below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]] s3_targets: List nested Amazon S3 target arguments. See S3 Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]] s3_targets: List of nested Amazon S3 target arguments. See S3 Target below. :param pulumi.Input[str] schedule: A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. :param pulumi.Input['CrawlerSchemaChangePolicyArgs'] schema_change_policy: Policy for the crawler's update and deletion behavior. See Schema Change Policy below. :param pulumi.Input[str] security_configuration: The name of Security Configuration to be used by the crawler @@ -202,7 +202,7 @@ def dynamodb_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['C @pulumi.getter(name="hudiTargets") def hudi_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]]]: """ - List nested Hudi target arguments. See Iceberg Target below. + List of nested Hudi target arguments. See Iceberg Target below. """ return pulumi.get(self, "hudi_targets") @@ -214,7 +214,7 @@ def hudi_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Crawl @pulumi.getter(name="icebergTargets") def iceberg_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]]]: """ - List nested Iceberg target arguments. See Iceberg Target below. + List of nested Iceberg target arguments. See Iceberg Target below. """ return pulumi.get(self, "iceberg_targets") @@ -262,7 +262,7 @@ def lineage_configuration(self, value: Optional[pulumi.Input['CrawlerLineageConf @pulumi.getter(name="mongodbTargets") def mongodb_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]]]: """ - List nested MongoDB target arguments. See MongoDB Target below. + List of nested MongoDB target arguments. See MongoDB Target below. """ return pulumi.get(self, "mongodb_targets") @@ -298,7 +298,7 @@ def recrawl_policy(self, value: Optional[pulumi.Input['CrawlerRecrawlPolicyArgs' @pulumi.getter(name="s3Targets") def s3_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]]]: """ - List nested Amazon S3 target arguments. See S3 Target below. + List of nested Amazon S3 target arguments. See S3 Target below. """ return pulumi.get(self, "s3_targets") @@ -403,16 +403,16 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['CrawlerDeltaTargetArgs']]] delta_targets: List of nested Delta Lake target arguments. See Delta Target below. :param pulumi.Input[str] description: Description of the crawler. :param pulumi.Input[Sequence[pulumi.Input['CrawlerDynamodbTargetArgs']]] dynamodb_targets: List of nested DynamoDB target arguments. See Dynamodb Target below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]] hudi_targets: List nested Hudi target arguments. See Iceberg Target below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]] iceberg_targets: List nested Iceberg target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]] hudi_targets: List of nested Hudi target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]] iceberg_targets: List of nested Iceberg target arguments. See Iceberg Target below. :param pulumi.Input[Sequence[pulumi.Input['CrawlerJdbcTargetArgs']]] jdbc_targets: List of nested JBDC target arguments. See JDBC Target below. :param pulumi.Input['CrawlerLakeFormationConfigurationArgs'] lake_formation_configuration: Specifies Lake Formation configuration settings for the crawler. See Lake Formation Configuration below. :param pulumi.Input['CrawlerLineageConfigurationArgs'] lineage_configuration: Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]] mongodb_targets: List nested MongoDB target arguments. See MongoDB Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]] mongodb_targets: List of nested MongoDB target arguments. See MongoDB Target below. :param pulumi.Input[str] name: Name of the crawler. :param pulumi.Input['CrawlerRecrawlPolicyArgs'] recrawl_policy: A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.. See Recrawl Policy below. :param pulumi.Input[str] role: The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. - :param pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]] s3_targets: List nested Amazon S3 target arguments. See S3 Target below. + :param pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]] s3_targets: List of nested Amazon S3 target arguments. See S3 Target below. :param pulumi.Input[str] schedule: A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. :param pulumi.Input['CrawlerSchemaChangePolicyArgs'] schema_change_policy: Policy for the crawler's update and deletion behavior. See Schema Change Policy below. :param pulumi.Input[str] security_configuration: The name of Security Configuration to be used by the crawler @@ -569,7 +569,7 @@ def dynamodb_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['C @pulumi.getter(name="hudiTargets") def hudi_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerHudiTargetArgs']]]]: """ - List nested Hudi target arguments. See Iceberg Target below. + List of nested Hudi target arguments. See Iceberg Target below. """ return pulumi.get(self, "hudi_targets") @@ -581,7 +581,7 @@ def hudi_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Crawl @pulumi.getter(name="icebergTargets") def iceberg_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerIcebergTargetArgs']]]]: """ - List nested Iceberg target arguments. See Iceberg Target below. + List of nested Iceberg target arguments. See Iceberg Target below. """ return pulumi.get(self, "iceberg_targets") @@ -629,7 +629,7 @@ def lineage_configuration(self, value: Optional[pulumi.Input['CrawlerLineageConf @pulumi.getter(name="mongodbTargets") def mongodb_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerMongodbTargetArgs']]]]: """ - List nested MongoDB target arguments. See MongoDB Target below. + List of nested MongoDB target arguments. See MongoDB Target below. """ return pulumi.get(self, "mongodb_targets") @@ -677,7 +677,7 @@ def role(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="s3Targets") def s3_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrawlerS3TargetArgs']]]]: """ - List nested Amazon S3 target arguments. See S3 Target below. + List of nested Amazon S3 target arguments. See S3 Target below. """ return pulumi.get(self, "s3_targets") @@ -915,16 +915,16 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerDeltaTargetArgs']]]] delta_targets: List of nested Delta Lake target arguments. See Delta Target below. :param pulumi.Input[str] description: Description of the crawler. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerDynamodbTargetArgs']]]] dynamodb_targets: List of nested DynamoDB target arguments. See Dynamodb Target below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerHudiTargetArgs']]]] hudi_targets: List nested Hudi target arguments. See Iceberg Target below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerIcebergTargetArgs']]]] iceberg_targets: List nested Iceberg target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerHudiTargetArgs']]]] hudi_targets: List of nested Hudi target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerIcebergTargetArgs']]]] iceberg_targets: List of nested Iceberg target arguments. See Iceberg Target below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerJdbcTargetArgs']]]] jdbc_targets: List of nested JBDC target arguments. See JDBC Target below. :param pulumi.Input[pulumi.InputType['CrawlerLakeFormationConfigurationArgs']] lake_formation_configuration: Specifies Lake Formation configuration settings for the crawler. See Lake Formation Configuration below. :param pulumi.Input[pulumi.InputType['CrawlerLineageConfigurationArgs']] lineage_configuration: Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerMongodbTargetArgs']]]] mongodb_targets: List nested MongoDB target arguments. See MongoDB Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerMongodbTargetArgs']]]] mongodb_targets: List of nested MongoDB target arguments. See MongoDB Target below. :param pulumi.Input[str] name: Name of the crawler. :param pulumi.Input[pulumi.InputType['CrawlerRecrawlPolicyArgs']] recrawl_policy: A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.. See Recrawl Policy below. :param pulumi.Input[str] role: The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerS3TargetArgs']]]] s3_targets: List nested Amazon S3 target arguments. See S3 Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerS3TargetArgs']]]] s3_targets: List of nested Amazon S3 target arguments. See S3 Target below. :param pulumi.Input[str] schedule: A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. :param pulumi.Input[pulumi.InputType['CrawlerSchemaChangePolicyArgs']] schema_change_policy: Policy for the crawler's update and deletion behavior. See Schema Change Policy below. :param pulumi.Input[str] security_configuration: The name of Security Configuration to be used by the crawler @@ -1179,16 +1179,16 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerDeltaTargetArgs']]]] delta_targets: List of nested Delta Lake target arguments. See Delta Target below. :param pulumi.Input[str] description: Description of the crawler. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerDynamodbTargetArgs']]]] dynamodb_targets: List of nested DynamoDB target arguments. See Dynamodb Target below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerHudiTargetArgs']]]] hudi_targets: List nested Hudi target arguments. See Iceberg Target below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerIcebergTargetArgs']]]] iceberg_targets: List nested Iceberg target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerHudiTargetArgs']]]] hudi_targets: List of nested Hudi target arguments. See Iceberg Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerIcebergTargetArgs']]]] iceberg_targets: List of nested Iceberg target arguments. See Iceberg Target below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerJdbcTargetArgs']]]] jdbc_targets: List of nested JBDC target arguments. See JDBC Target below. :param pulumi.Input[pulumi.InputType['CrawlerLakeFormationConfigurationArgs']] lake_formation_configuration: Specifies Lake Formation configuration settings for the crawler. See Lake Formation Configuration below. :param pulumi.Input[pulumi.InputType['CrawlerLineageConfigurationArgs']] lineage_configuration: Specifies data lineage configuration settings for the crawler. See Lineage Configuration below. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerMongodbTargetArgs']]]] mongodb_targets: List nested MongoDB target arguments. See MongoDB Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerMongodbTargetArgs']]]] mongodb_targets: List of nested MongoDB target arguments. See MongoDB Target below. :param pulumi.Input[str] name: Name of the crawler. :param pulumi.Input[pulumi.InputType['CrawlerRecrawlPolicyArgs']] recrawl_policy: A policy that specifies whether to crawl the entire dataset again, or to crawl only folders that were added since the last crawler run.. See Recrawl Policy below. :param pulumi.Input[str] role: The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerS3TargetArgs']]]] s3_targets: List nested Amazon S3 target arguments. See S3 Target below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrawlerS3TargetArgs']]]] s3_targets: List of nested Amazon S3 target arguments. See S3 Target below. :param pulumi.Input[str] schedule: A cron expression used to specify the schedule. For more information, see [Time-Based Schedules for Jobs and Crawlers](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). For example, to run something every day at 12:15 UTC, you would specify: `cron(15 12 * * ? *)`. :param pulumi.Input[pulumi.InputType['CrawlerSchemaChangePolicyArgs']] schema_change_policy: Policy for the crawler's update and deletion behavior. See Schema Change Policy below. :param pulumi.Input[str] security_configuration: The name of Security Configuration to be used by the crawler @@ -1291,7 +1291,7 @@ def dynamodb_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerDy @pulumi.getter(name="hudiTargets") def hudi_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerHudiTarget']]]: """ - List nested Hudi target arguments. See Iceberg Target below. + List of nested Hudi target arguments. See Iceberg Target below. """ return pulumi.get(self, "hudi_targets") @@ -1299,7 +1299,7 @@ def hudi_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerHudiTa @pulumi.getter(name="icebergTargets") def iceberg_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerIcebergTarget']]]: """ - List nested Iceberg target arguments. See Iceberg Target below. + List of nested Iceberg target arguments. See Iceberg Target below. """ return pulumi.get(self, "iceberg_targets") @@ -1331,7 +1331,7 @@ def lineage_configuration(self) -> pulumi.Output[Optional['outputs.CrawlerLineag @pulumi.getter(name="mongodbTargets") def mongodb_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerMongodbTarget']]]: """ - List nested MongoDB target arguments. See MongoDB Target below. + List of nested MongoDB target arguments. See MongoDB Target below. """ return pulumi.get(self, "mongodb_targets") @@ -1363,7 +1363,7 @@ def role(self) -> pulumi.Output[str]: @pulumi.getter(name="s3Targets") def s3_targets(self) -> pulumi.Output[Optional[Sequence['outputs.CrawlerS3Target']]]: """ - List nested Amazon S3 target arguments. See S3 Target below. + List of nested Amazon S3 target arguments. See S3 Target below. """ return pulumi.get(self, "s3_targets") diff --git a/sdk/python/pulumi_aws/iam/group_policy.py b/sdk/python/pulumi_aws/iam/group_policy.py index f5e59548cff..84ca4572b5d 100644 --- a/sdk/python/pulumi_aws/iam/group_policy.py +++ b/sdk/python/pulumi_aws/iam/group_policy.py @@ -341,7 +341,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. diff --git a/sdk/python/pulumi_aws/iam/role_policy.py b/sdk/python/pulumi_aws/iam/role_policy.py index cfd40802291..7ed855c8299 100644 --- a/sdk/python/pulumi_aws/iam/role_policy.py +++ b/sdk/python/pulumi_aws/iam/role_policy.py @@ -357,7 +357,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. diff --git a/sdk/python/pulumi_aws/iam/user_policy.py b/sdk/python/pulumi_aws/iam/user_policy.py index d8f703d5f37..eb901d0a75d 100644 --- a/sdk/python/pulumi_aws/iam/user_policy.py +++ b/sdk/python/pulumi_aws/iam/user_policy.py @@ -322,7 +322,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/imagebuilder/_inputs.py b/sdk/python/pulumi_aws/imagebuilder/_inputs.py index 7b0e0317309..fafb2da3dae 100644 --- a/sdk/python/pulumi_aws/imagebuilder/_inputs.py +++ b/sdk/python/pulumi_aws/imagebuilder/_inputs.py @@ -25,6 +25,8 @@ 'DistributionConfigurationDistributionFastLaunchConfigurationLaunchTemplateArgs', 'DistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfigurationArgs', 'DistributionConfigurationDistributionLaunchTemplateConfigurationArgs', + 'ImageImageScanningConfigurationArgs', + 'ImageImageScanningConfigurationEcrConfigurationArgs', 'ImageImageTestsConfigurationArgs', 'ImageOutputResourceArgs', 'ImageOutputResourceAmiArgs', @@ -994,6 +996,84 @@ def default(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "default", value) +@pulumi.input_type +class ImageImageScanningConfigurationArgs: + def __init__(__self__, *, + ecr_configuration: Optional[pulumi.Input['ImageImageScanningConfigurationEcrConfigurationArgs']] = None, + image_scanning_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input['ImageImageScanningConfigurationEcrConfigurationArgs'] ecr_configuration: Configuration block with ECR configuration. Detailed below. + :param pulumi.Input[bool] image_scanning_enabled: Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + """ + if ecr_configuration is not None: + pulumi.set(__self__, "ecr_configuration", ecr_configuration) + if image_scanning_enabled is not None: + pulumi.set(__self__, "image_scanning_enabled", image_scanning_enabled) + + @property + @pulumi.getter(name="ecrConfiguration") + def ecr_configuration(self) -> Optional[pulumi.Input['ImageImageScanningConfigurationEcrConfigurationArgs']]: + """ + Configuration block with ECR configuration. Detailed below. + """ + return pulumi.get(self, "ecr_configuration") + + @ecr_configuration.setter + def ecr_configuration(self, value: Optional[pulumi.Input['ImageImageScanningConfigurationEcrConfigurationArgs']]): + pulumi.set(self, "ecr_configuration", value) + + @property + @pulumi.getter(name="imageScanningEnabled") + def image_scanning_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + """ + return pulumi.get(self, "image_scanning_enabled") + + @image_scanning_enabled.setter + def image_scanning_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "image_scanning_enabled", value) + + +@pulumi.input_type +class ImageImageScanningConfigurationEcrConfigurationArgs: + def __init__(__self__, *, + container_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + repository_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] container_tags: Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + :param pulumi.Input[str] repository_name: The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + if container_tags is not None: + pulumi.set(__self__, "container_tags", container_tags) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + + @property + @pulumi.getter(name="containerTags") + def container_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + """ + return pulumi.get(self, "container_tags") + + @container_tags.setter + def container_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "container_tags", value) + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + return pulumi.get(self, "repository_name") + + @repository_name.setter + def repository_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_name", value) + + @pulumi.input_type class ImageImageTestsConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/imagebuilder/get_image.py b/sdk/python/pulumi_aws/imagebuilder/get_image.py index 3e012b6aa04..b75a8b8bd79 100644 --- a/sdk/python/pulumi_aws/imagebuilder/get_image.py +++ b/sdk/python/pulumi_aws/imagebuilder/get_image.py @@ -22,7 +22,7 @@ class GetImageResult: """ A collection of values returned by getImage. """ - def __init__(__self__, arn=None, build_version_arn=None, container_recipe_arn=None, date_created=None, distribution_configuration_arn=None, enhanced_image_metadata_enabled=None, id=None, image_recipe_arn=None, image_tests_configurations=None, infrastructure_configuration_arn=None, name=None, os_version=None, output_resources=None, platform=None, tags=None, version=None): + def __init__(__self__, arn=None, build_version_arn=None, container_recipe_arn=None, date_created=None, distribution_configuration_arn=None, enhanced_image_metadata_enabled=None, id=None, image_recipe_arn=None, image_scanning_configurations=None, image_tests_configurations=None, infrastructure_configuration_arn=None, name=None, os_version=None, output_resources=None, platform=None, tags=None, version=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -47,6 +47,9 @@ def __init__(__self__, arn=None, build_version_arn=None, container_recipe_arn=No if image_recipe_arn and not isinstance(image_recipe_arn, str): raise TypeError("Expected argument 'image_recipe_arn' to be a str") pulumi.set(__self__, "image_recipe_arn", image_recipe_arn) + if image_scanning_configurations and not isinstance(image_scanning_configurations, list): + raise TypeError("Expected argument 'image_scanning_configurations' to be a list") + pulumi.set(__self__, "image_scanning_configurations", image_scanning_configurations) if image_tests_configurations and not isinstance(image_tests_configurations, list): raise TypeError("Expected argument 'image_tests_configurations' to be a list") pulumi.set(__self__, "image_tests_configurations", image_tests_configurations) @@ -133,6 +136,14 @@ def image_recipe_arn(self) -> str: """ return pulumi.get(self, "image_recipe_arn") + @property + @pulumi.getter(name="imageScanningConfigurations") + def image_scanning_configurations(self) -> Sequence['outputs.GetImageImageScanningConfigurationResult']: + """ + List of an object with image scanning configuration fields. + """ + return pulumi.get(self, "image_scanning_configurations") + @property @pulumi.getter(name="imageTestsConfigurations") def image_tests_configurations(self) -> Sequence['outputs.GetImageImageTestsConfigurationResult']: @@ -212,6 +223,7 @@ def __await__(self): enhanced_image_metadata_enabled=self.enhanced_image_metadata_enabled, id=self.id, image_recipe_arn=self.image_recipe_arn, + image_scanning_configurations=self.image_scanning_configurations, image_tests_configurations=self.image_tests_configurations, infrastructure_configuration_arn=self.infrastructure_configuration_arn, name=self.name, @@ -257,6 +269,7 @@ def get_image(arn: Optional[str] = None, enhanced_image_metadata_enabled=pulumi.get(__ret__, 'enhanced_image_metadata_enabled'), id=pulumi.get(__ret__, 'id'), image_recipe_arn=pulumi.get(__ret__, 'image_recipe_arn'), + image_scanning_configurations=pulumi.get(__ret__, 'image_scanning_configurations'), image_tests_configurations=pulumi.get(__ret__, 'image_tests_configurations'), infrastructure_configuration_arn=pulumi.get(__ret__, 'infrastructure_configuration_arn'), name=pulumi.get(__ret__, 'name'), diff --git a/sdk/python/pulumi_aws/imagebuilder/image.py b/sdk/python/pulumi_aws/imagebuilder/image.py index e1fd36e62be..a7ab0f1cb88 100644 --- a/sdk/python/pulumi_aws/imagebuilder/image.py +++ b/sdk/python/pulumi_aws/imagebuilder/image.py @@ -21,6 +21,7 @@ def __init__(__self__, *, distribution_configuration_arn: Optional[pulumi.Input[str]] = None, enhanced_image_metadata_enabled: Optional[pulumi.Input[bool]] = None, image_recipe_arn: Optional[pulumi.Input[str]] = None, + image_scanning_configuration: Optional[pulumi.Input['ImageImageScanningConfigurationArgs']] = None, image_tests_configuration: Optional[pulumi.Input['ImageImageTestsConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] distribution_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Distribution Configuration. :param pulumi.Input[bool] enhanced_image_metadata_enabled: Whether additional information about the image being created is collected. Defaults to `true`. :param pulumi.Input[str] image_recipe_arn: Amazon Resource Name (ARN) of the image recipe. + :param pulumi.Input['ImageImageScanningConfigurationArgs'] image_scanning_configuration: Configuration block with image scanning configuration. Detailed below. :param pulumi.Input['ImageImageTestsConfigurationArgs'] image_tests_configuration: Configuration block with image tests configuration. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags for the Image Builder Image. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -44,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enhanced_image_metadata_enabled", enhanced_image_metadata_enabled) if image_recipe_arn is not None: pulumi.set(__self__, "image_recipe_arn", image_recipe_arn) + if image_scanning_configuration is not None: + pulumi.set(__self__, "image_scanning_configuration", image_scanning_configuration) if image_tests_configuration is not None: pulumi.set(__self__, "image_tests_configuration", image_tests_configuration) if tags is not None: @@ -111,6 +115,18 @@ def image_recipe_arn(self) -> Optional[pulumi.Input[str]]: def image_recipe_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "image_recipe_arn", value) + @property + @pulumi.getter(name="imageScanningConfiguration") + def image_scanning_configuration(self) -> Optional[pulumi.Input['ImageImageScanningConfigurationArgs']]: + """ + Configuration block with image scanning configuration. Detailed below. + """ + return pulumi.get(self, "image_scanning_configuration") + + @image_scanning_configuration.setter + def image_scanning_configuration(self, value: Optional[pulumi.Input['ImageImageScanningConfigurationArgs']]): + pulumi.set(self, "image_scanning_configuration", value) + @property @pulumi.getter(name="imageTestsConfiguration") def image_tests_configuration(self) -> Optional[pulumi.Input['ImageImageTestsConfigurationArgs']]: @@ -145,6 +161,7 @@ def __init__(__self__, *, distribution_configuration_arn: Optional[pulumi.Input[str]] = None, enhanced_image_metadata_enabled: Optional[pulumi.Input[bool]] = None, image_recipe_arn: Optional[pulumi.Input[str]] = None, + image_scanning_configuration: Optional[pulumi.Input['ImageImageScanningConfigurationArgs']] = None, image_tests_configuration: Optional[pulumi.Input['ImageImageTestsConfigurationArgs']] = None, infrastructure_configuration_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -162,6 +179,7 @@ def __init__(__self__, *, :param pulumi.Input[str] distribution_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Distribution Configuration. :param pulumi.Input[bool] enhanced_image_metadata_enabled: Whether additional information about the image being created is collected. Defaults to `true`. :param pulumi.Input[str] image_recipe_arn: Amazon Resource Name (ARN) of the image recipe. + :param pulumi.Input['ImageImageScanningConfigurationArgs'] image_scanning_configuration: Configuration block with image scanning configuration. Detailed below. :param pulumi.Input['ImageImageTestsConfigurationArgs'] image_tests_configuration: Configuration block with image tests configuration. Detailed below. :param pulumi.Input[str] infrastructure_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -186,6 +204,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enhanced_image_metadata_enabled", enhanced_image_metadata_enabled) if image_recipe_arn is not None: pulumi.set(__self__, "image_recipe_arn", image_recipe_arn) + if image_scanning_configuration is not None: + pulumi.set(__self__, "image_scanning_configuration", image_scanning_configuration) if image_tests_configuration is not None: pulumi.set(__self__, "image_tests_configuration", image_tests_configuration) if infrastructure_configuration_arn is not None: @@ -280,6 +300,18 @@ def image_recipe_arn(self) -> Optional[pulumi.Input[str]]: def image_recipe_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "image_recipe_arn", value) + @property + @pulumi.getter(name="imageScanningConfiguration") + def image_scanning_configuration(self) -> Optional[pulumi.Input['ImageImageScanningConfigurationArgs']]: + """ + Configuration block with image scanning configuration. Detailed below. + """ + return pulumi.get(self, "image_scanning_configuration") + + @image_scanning_configuration.setter + def image_scanning_configuration(self, value: Optional[pulumi.Input['ImageImageScanningConfigurationArgs']]): + pulumi.set(self, "image_scanning_configuration", value) + @property @pulumi.getter(name="imageTestsConfiguration") def image_tests_configuration(self) -> Optional[pulumi.Input['ImageImageTestsConfigurationArgs']]: @@ -403,6 +435,7 @@ def __init__(__self__, distribution_configuration_arn: Optional[pulumi.Input[str]] = None, enhanced_image_metadata_enabled: Optional[pulumi.Input[bool]] = None, image_recipe_arn: Optional[pulumi.Input[str]] = None, + image_scanning_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageScanningConfigurationArgs']]] = None, image_tests_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageTestsConfigurationArgs']]] = None, infrastructure_configuration_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -436,6 +469,7 @@ def __init__(__self__, :param pulumi.Input[str] distribution_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Distribution Configuration. :param pulumi.Input[bool] enhanced_image_metadata_enabled: Whether additional information about the image being created is collected. Defaults to `true`. :param pulumi.Input[str] image_recipe_arn: Amazon Resource Name (ARN) of the image recipe. + :param pulumi.Input[pulumi.InputType['ImageImageScanningConfigurationArgs']] image_scanning_configuration: Configuration block with image scanning configuration. Detailed below. :param pulumi.Input[pulumi.InputType['ImageImageTestsConfigurationArgs']] image_tests_configuration: Configuration block with image tests configuration. Detailed below. :param pulumi.Input[str] infrastructure_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -490,6 +524,7 @@ def _internal_init(__self__, distribution_configuration_arn: Optional[pulumi.Input[str]] = None, enhanced_image_metadata_enabled: Optional[pulumi.Input[bool]] = None, image_recipe_arn: Optional[pulumi.Input[str]] = None, + image_scanning_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageScanningConfigurationArgs']]] = None, image_tests_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageTestsConfigurationArgs']]] = None, infrastructure_configuration_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -506,6 +541,7 @@ def _internal_init(__self__, __props__.__dict__["distribution_configuration_arn"] = distribution_configuration_arn __props__.__dict__["enhanced_image_metadata_enabled"] = enhanced_image_metadata_enabled __props__.__dict__["image_recipe_arn"] = image_recipe_arn + __props__.__dict__["image_scanning_configuration"] = image_scanning_configuration __props__.__dict__["image_tests_configuration"] = image_tests_configuration if infrastructure_configuration_arn is None and not opts.urn: raise TypeError("Missing required property 'infrastructure_configuration_arn'") @@ -537,6 +573,7 @@ def get(resource_name: str, distribution_configuration_arn: Optional[pulumi.Input[str]] = None, enhanced_image_metadata_enabled: Optional[pulumi.Input[bool]] = None, image_recipe_arn: Optional[pulumi.Input[str]] = None, + image_scanning_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageScanningConfigurationArgs']]] = None, image_tests_configuration: Optional[pulumi.Input[pulumi.InputType['ImageImageTestsConfigurationArgs']]] = None, infrastructure_configuration_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -559,6 +596,7 @@ def get(resource_name: str, :param pulumi.Input[str] distribution_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Distribution Configuration. :param pulumi.Input[bool] enhanced_image_metadata_enabled: Whether additional information about the image being created is collected. Defaults to `true`. :param pulumi.Input[str] image_recipe_arn: Amazon Resource Name (ARN) of the image recipe. + :param pulumi.Input[pulumi.InputType['ImageImageScanningConfigurationArgs']] image_scanning_configuration: Configuration block with image scanning configuration. Detailed below. :param pulumi.Input[pulumi.InputType['ImageImageTestsConfigurationArgs']] image_tests_configuration: Configuration block with image tests configuration. Detailed below. :param pulumi.Input[str] infrastructure_configuration_arn: Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration. @@ -581,6 +619,7 @@ def get(resource_name: str, __props__.__dict__["distribution_configuration_arn"] = distribution_configuration_arn __props__.__dict__["enhanced_image_metadata_enabled"] = enhanced_image_metadata_enabled __props__.__dict__["image_recipe_arn"] = image_recipe_arn + __props__.__dict__["image_scanning_configuration"] = image_scanning_configuration __props__.__dict__["image_tests_configuration"] = image_tests_configuration __props__.__dict__["infrastructure_configuration_arn"] = infrastructure_configuration_arn __props__.__dict__["name"] = name @@ -640,6 +679,14 @@ def image_recipe_arn(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "image_recipe_arn") + @property + @pulumi.getter(name="imageScanningConfiguration") + def image_scanning_configuration(self) -> pulumi.Output['outputs.ImageImageScanningConfiguration']: + """ + Configuration block with image scanning configuration. Detailed below. + """ + return pulumi.get(self, "image_scanning_configuration") + @property @pulumi.getter(name="imageTestsConfiguration") def image_tests_configuration(self) -> pulumi.Output['outputs.ImageImageTestsConfiguration']: diff --git a/sdk/python/pulumi_aws/imagebuilder/outputs.py b/sdk/python/pulumi_aws/imagebuilder/outputs.py index 8879117d9d2..01b9916ae97 100644 --- a/sdk/python/pulumi_aws/imagebuilder/outputs.py +++ b/sdk/python/pulumi_aws/imagebuilder/outputs.py @@ -26,6 +26,8 @@ 'DistributionConfigurationDistributionFastLaunchConfigurationLaunchTemplate', 'DistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfiguration', 'DistributionConfigurationDistributionLaunchTemplateConfiguration', + 'ImageImageScanningConfiguration', + 'ImageImageScanningConfigurationEcrConfiguration', 'ImageImageTestsConfiguration', 'ImageOutputResource', 'ImageOutputResourceAmi', @@ -60,6 +62,8 @@ 'GetDistributionConfigurationDistributionFastLaunchConfigurationSnapshotConfigurationResult', 'GetDistributionConfigurationDistributionLaunchTemplateConfigurationResult', 'GetDistributionConfigurationsFilterResult', + 'GetImageImageScanningConfigurationResult', + 'GetImageImageScanningConfigurationEcrConfigurationResult', 'GetImageImageTestsConfigurationResult', 'GetImageOutputResourceResult', 'GetImageOutputResourceAmiResult', @@ -1097,6 +1101,106 @@ def default(self) -> Optional[bool]: return pulumi.get(self, "default") +@pulumi.output_type +class ImageImageScanningConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ecrConfiguration": + suggest = "ecr_configuration" + elif key == "imageScanningEnabled": + suggest = "image_scanning_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageImageScanningConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageImageScanningConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageImageScanningConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ecr_configuration: Optional['outputs.ImageImageScanningConfigurationEcrConfiguration'] = None, + image_scanning_enabled: Optional[bool] = None): + """ + :param 'ImageImageScanningConfigurationEcrConfigurationArgs' ecr_configuration: Configuration block with ECR configuration. Detailed below. + :param bool image_scanning_enabled: Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + """ + if ecr_configuration is not None: + pulumi.set(__self__, "ecr_configuration", ecr_configuration) + if image_scanning_enabled is not None: + pulumi.set(__self__, "image_scanning_enabled", image_scanning_enabled) + + @property + @pulumi.getter(name="ecrConfiguration") + def ecr_configuration(self) -> Optional['outputs.ImageImageScanningConfigurationEcrConfiguration']: + """ + Configuration block with ECR configuration. Detailed below. + """ + return pulumi.get(self, "ecr_configuration") + + @property + @pulumi.getter(name="imageScanningEnabled") + def image_scanning_enabled(self) -> Optional[bool]: + """ + Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. Defaults to `false`. + """ + return pulumi.get(self, "image_scanning_enabled") + + +@pulumi.output_type +class ImageImageScanningConfigurationEcrConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "containerTags": + suggest = "container_tags" + elif key == "repositoryName": + suggest = "repository_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ImageImageScanningConfigurationEcrConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ImageImageScanningConfigurationEcrConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ImageImageScanningConfigurationEcrConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + container_tags: Optional[Sequence[str]] = None, + repository_name: Optional[str] = None): + """ + :param Sequence[str] container_tags: Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + :param str repository_name: The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + if container_tags is not None: + pulumi.set(__self__, "container_tags", container_tags) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + + @property + @pulumi.getter(name="containerTags") + def container_tags(self) -> Optional[Sequence[str]]: + """ + Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + """ + return pulumi.get(self, "container_tags") + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[str]: + """ + The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + return pulumi.get(self, "repository_name") + + @pulumi.output_type class ImageImageTestsConfiguration(dict): @staticmethod @@ -2749,6 +2853,64 @@ def values(self) -> Sequence[str]: return pulumi.get(self, "values") +@pulumi.output_type +class GetImageImageScanningConfigurationResult(dict): + def __init__(__self__, *, + ecr_configurations: Sequence['outputs.GetImageImageScanningConfigurationEcrConfigurationResult'], + image_scanning_enabled: bool): + """ + :param Sequence['GetImageImageScanningConfigurationEcrConfigurationArgs'] ecr_configurations: Configuration block with ECR configuration. + :param bool image_scanning_enabled: Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + """ + pulumi.set(__self__, "ecr_configurations", ecr_configurations) + pulumi.set(__self__, "image_scanning_enabled", image_scanning_enabled) + + @property + @pulumi.getter(name="ecrConfigurations") + def ecr_configurations(self) -> Sequence['outputs.GetImageImageScanningConfigurationEcrConfigurationResult']: + """ + Configuration block with ECR configuration. + """ + return pulumi.get(self, "ecr_configurations") + + @property + @pulumi.getter(name="imageScanningEnabled") + def image_scanning_enabled(self) -> bool: + """ + Indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image. + """ + return pulumi.get(self, "image_scanning_enabled") + + +@pulumi.output_type +class GetImageImageScanningConfigurationEcrConfigurationResult(dict): + def __init__(__self__, *, + container_tags: Sequence[str], + repository_name: str): + """ + :param Sequence[str] container_tags: Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + :param str repository_name: The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + pulumi.set(__self__, "container_tags", container_tags) + pulumi.set(__self__, "repository_name", repository_name) + + @property + @pulumi.getter(name="containerTags") + def container_tags(self) -> Sequence[str]: + """ + Set of tags for Image Builder to apply to the output container image that that Amazon Inspector scans. + """ + return pulumi.get(self, "container_tags") + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> str: + """ + The name of the container repository that Amazon Inspector scans to identify findings for your container images. + """ + return pulumi.get(self, "repository_name") + + @pulumi.output_type class GetImageImageTestsConfigurationResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/inspector2/enabler.py b/sdk/python/pulumi_aws/inspector2/enabler.py index 4916226530d..8cd9238ce27 100644 --- a/sdk/python/pulumi_aws/inspector2/enabler.py +++ b/sdk/python/pulumi_aws/inspector2/enabler.py @@ -21,7 +21,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] account_ids: Set of account IDs. Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ pulumi.set(__self__, "account_ids", account_ids) @@ -45,7 +45,7 @@ def account_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): def resource_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ return pulumi.get(self, "resource_types") @@ -65,7 +65,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] account_ids: Set of account IDs. Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ if account_ids is not None: @@ -91,7 +91,7 @@ def account_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] def resource_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ return pulumi.get(self, "resource_types") @@ -145,7 +145,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] account_ids: Set of account IDs. Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ ... @@ -239,7 +239,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] account_ids: Set of account IDs. Can contain one of: the Organization's Administrator Account, or one or more Member Accounts. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -264,7 +264,7 @@ def account_ids(self) -> pulumi.Output[Sequence[str]]: def resource_types(self) -> pulumi.Output[Sequence[str]]: """ Type of resources to scan. - Valid values are `EC2`, `ECR`, and `LAMBDA`. + Valid values are `EC2`, `ECR`, `LAMBDA` and `LAMBDA_CODE`. At least one item is required. """ return pulumi.get(self, "resource_types") diff --git a/sdk/python/pulumi_aws/iot/__init__.py b/sdk/python/pulumi_aws/iot/__init__.py index 10912ee4555..d5252543800 100644 --- a/sdk/python/pulumi_aws/iot/__init__.py +++ b/sdk/python/pulumi_aws/iot/__init__.py @@ -7,6 +7,7 @@ # Export this package's modules as members: from .authorizer import * from .certificate import * +from .domain_configuration import * from .get_endpoint import * from .indexing_configuration import * from .logging_options import * diff --git a/sdk/python/pulumi_aws/iot/_inputs.py b/sdk/python/pulumi_aws/iot/_inputs.py index 008a50fff35..e37418b51e2 100644 --- a/sdk/python/pulumi_aws/iot/_inputs.py +++ b/sdk/python/pulumi_aws/iot/_inputs.py @@ -10,11 +10,14 @@ from .. import _utilities __all__ = [ + 'DomainConfigurationAuthorizerConfigArgs', + 'DomainConfigurationTlsConfigArgs', 'IndexingConfigurationThingGroupIndexingConfigurationArgs', 'IndexingConfigurationThingGroupIndexingConfigurationCustomFieldArgs', 'IndexingConfigurationThingGroupIndexingConfigurationManagedFieldArgs', 'IndexingConfigurationThingIndexingConfigurationArgs', 'IndexingConfigurationThingIndexingConfigurationCustomFieldArgs', + 'IndexingConfigurationThingIndexingConfigurationFilterArgs', 'IndexingConfigurationThingIndexingConfigurationManagedFieldArgs', 'ProvisioningTemplatePreProvisioningHookArgs', 'ThingGroupMetadataArgs', @@ -72,6 +75,68 @@ 'TopicRuleTimestreamTimestampArgs', ] +@pulumi.input_type +class DomainConfigurationAuthorizerConfigArgs: + def __init__(__self__, *, + allow_authorizer_override: Optional[pulumi.Input[bool]] = None, + default_authorizer_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] allow_authorizer_override: A Boolean that specifies whether the domain configuration's authorization service can be overridden. + :param pulumi.Input[str] default_authorizer_name: The name of the authorization service for a domain configuration. + """ + if allow_authorizer_override is not None: + pulumi.set(__self__, "allow_authorizer_override", allow_authorizer_override) + if default_authorizer_name is not None: + pulumi.set(__self__, "default_authorizer_name", default_authorizer_name) + + @property + @pulumi.getter(name="allowAuthorizerOverride") + def allow_authorizer_override(self) -> Optional[pulumi.Input[bool]]: + """ + A Boolean that specifies whether the domain configuration's authorization service can be overridden. + """ + return pulumi.get(self, "allow_authorizer_override") + + @allow_authorizer_override.setter + def allow_authorizer_override(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_authorizer_override", value) + + @property + @pulumi.getter(name="defaultAuthorizerName") + def default_authorizer_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the authorization service for a domain configuration. + """ + return pulumi.get(self, "default_authorizer_name") + + @default_authorizer_name.setter + def default_authorizer_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_authorizer_name", value) + + +@pulumi.input_type +class DomainConfigurationTlsConfigArgs: + def __init__(__self__, *, + security_policy: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] security_policy: The security policy for a domain configuration. + """ + if security_policy is not None: + pulumi.set(__self__, "security_policy", security_policy) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> Optional[pulumi.Input[str]]: + """ + The security policy for a domain configuration. + """ + return pulumi.get(self, "security_policy") + + @security_policy.setter + def security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "security_policy", value) + + @pulumi.input_type class IndexingConfigurationThingGroupIndexingConfigurationArgs: def __init__(__self__, *, @@ -210,6 +275,7 @@ def __init__(__self__, *, thing_indexing_mode: pulumi.Input[str], custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input['IndexingConfigurationThingIndexingConfigurationCustomFieldArgs']]]] = None, device_defender_indexing_mode: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input['IndexingConfigurationThingIndexingConfigurationFilterArgs']] = None, managed_fields: Optional[pulumi.Input[Sequence[pulumi.Input['IndexingConfigurationThingIndexingConfigurationManagedFieldArgs']]]] = None, named_shadow_indexing_mode: Optional[pulumi.Input[str]] = None, thing_connectivity_indexing_mode: Optional[pulumi.Input[str]] = None): @@ -217,6 +283,7 @@ def __init__(__self__, *, :param pulumi.Input[str] thing_indexing_mode: Thing indexing mode. Valid values: `REGISTRY`, `REGISTRY_AND_SHADOW`, `OFF`. :param pulumi.Input[Sequence[pulumi.Input['IndexingConfigurationThingIndexingConfigurationCustomFieldArgs']]] custom_fields: Contains custom field names and their data type. See below. :param pulumi.Input[str] device_defender_indexing_mode: Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. + :param pulumi.Input['IndexingConfigurationThingIndexingConfigurationFilterArgs'] filter: Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. :param pulumi.Input[Sequence[pulumi.Input['IndexingConfigurationThingIndexingConfigurationManagedFieldArgs']]] managed_fields: Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. :param pulumi.Input[str] named_shadow_indexing_mode: [Named shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) indexing mode. Valid values: `ON`, `OFF`. Default: `OFF`. :param pulumi.Input[str] thing_connectivity_indexing_mode: Thing connectivity indexing mode. Valid values: `STATUS`, `OFF`. Default: `OFF`. @@ -226,6 +293,8 @@ def __init__(__self__, *, pulumi.set(__self__, "custom_fields", custom_fields) if device_defender_indexing_mode is not None: pulumi.set(__self__, "device_defender_indexing_mode", device_defender_indexing_mode) + if filter is not None: + pulumi.set(__self__, "filter", filter) if managed_fields is not None: pulumi.set(__self__, "managed_fields", managed_fields) if named_shadow_indexing_mode is not None: @@ -269,6 +338,18 @@ def device_defender_indexing_mode(self) -> Optional[pulumi.Input[str]]: def device_defender_indexing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_defender_indexing_mode", value) + @property + @pulumi.getter + def filter(self) -> Optional[pulumi.Input['IndexingConfigurationThingIndexingConfigurationFilterArgs']]: + """ + Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: Optional[pulumi.Input['IndexingConfigurationThingIndexingConfigurationFilterArgs']]): + pulumi.set(self, "filter", value) + @property @pulumi.getter(name="managedFields") def managed_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IndexingConfigurationThingIndexingConfigurationManagedFieldArgs']]]]: @@ -345,6 +426,29 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class IndexingConfigurationThingIndexingConfigurationFilterArgs: + def __init__(__self__, *, + named_shadow_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] named_shadow_names: List of shadow names that you select to index. + """ + if named_shadow_names is not None: + pulumi.set(__self__, "named_shadow_names", named_shadow_names) + + @property + @pulumi.getter(name="namedShadowNames") + def named_shadow_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of shadow names that you select to index. + """ + return pulumi.get(self, "named_shadow_names") + + @named_shadow_names.setter + def named_shadow_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "named_shadow_names", value) + + @pulumi.input_type class IndexingConfigurationThingIndexingConfigurationManagedFieldArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/iot/domain_configuration.py b/sdk/python/pulumi_aws/iot/domain_configuration.py new file mode 100644 index 00000000000..0547f9c09f0 --- /dev/null +++ b/sdk/python/pulumi_aws/iot/domain_configuration.py @@ -0,0 +1,645 @@ +# 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__ = ['DomainConfigurationArgs', 'DomainConfiguration'] + +@pulumi.input_type +class DomainConfigurationArgs: + def __init__(__self__, *, + authorizer_config: Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']] = None, + domain_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + server_certificate_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tls_config: Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']] = None, + validation_certificate_arn: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DomainConfiguration resource. + :param pulumi.Input['DomainConfigurationAuthorizerConfigArgs'] authorizer_config: An object that specifies the authorization service for a domain. See below. + :param pulumi.Input[str] domain_name: Fully-qualified domain name. + :param pulumi.Input[str] name: The name of the domain configuration. This value must be unique to a region. + :param pulumi.Input[Sequence[pulumi.Input[str]]] server_certificate_arns: The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + :param pulumi.Input[str] service_type: The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to this 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['DomainConfigurationTlsConfigArgs'] tls_config: An object that specifies the TLS configuration for a domain. See below. + :param pulumi.Input[str] validation_certificate_arn: The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + if authorizer_config is not None: + pulumi.set(__self__, "authorizer_config", authorizer_config) + if domain_name is not None: + pulumi.set(__self__, "domain_name", domain_name) + if name is not None: + pulumi.set(__self__, "name", name) + if server_certificate_arns is not None: + pulumi.set(__self__, "server_certificate_arns", server_certificate_arns) + if service_type is not None: + pulumi.set(__self__, "service_type", service_type) + if status is not None: + pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tls_config is not None: + pulumi.set(__self__, "tls_config", tls_config) + if validation_certificate_arn is not None: + pulumi.set(__self__, "validation_certificate_arn", validation_certificate_arn) + + @property + @pulumi.getter(name="authorizerConfig") + def authorizer_config(self) -> Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']]: + """ + An object that specifies the authorization service for a domain. See below. + """ + return pulumi.get(self, "authorizer_config") + + @authorizer_config.setter + def authorizer_config(self, value: Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']]): + pulumi.set(self, "authorizer_config", value) + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> Optional[pulumi.Input[str]]: + """ + Fully-qualified domain name. + """ + return pulumi.get(self, "domain_name") + + @domain_name.setter + def domain_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the domain configuration. This value must be unique to a region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serverCertificateArns") + def server_certificate_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + """ + return pulumi.get(self, "server_certificate_arns") + + @server_certificate_arns.setter + def server_certificate_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "server_certificate_arns", value) + + @property + @pulumi.getter(name="serviceType") + def service_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + """ + return pulumi.get(self, "service_type") + + @service_type.setter + def service_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to this 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="tlsConfig") + def tls_config(self) -> Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']]: + """ + An object that specifies the TLS configuration for a domain. See below. + """ + return pulumi.get(self, "tls_config") + + @tls_config.setter + def tls_config(self, value: Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']]): + pulumi.set(self, "tls_config", value) + + @property + @pulumi.getter(name="validationCertificateArn") + def validation_certificate_arn(self) -> Optional[pulumi.Input[str]]: + """ + The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + return pulumi.get(self, "validation_certificate_arn") + + @validation_certificate_arn.setter + def validation_certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "validation_certificate_arn", value) + + +@pulumi.input_type +class _DomainConfigurationState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + authorizer_config: Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']] = None, + domain_name: Optional[pulumi.Input[str]] = None, + domain_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + server_certificate_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tls_config: Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']] = None, + validation_certificate_arn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DomainConfiguration resources. + :param pulumi.Input[str] arn: The ARN of the domain configuration. + :param pulumi.Input['DomainConfigurationAuthorizerConfigArgs'] authorizer_config: An object that specifies the authorization service for a domain. See below. + :param pulumi.Input[str] domain_name: Fully-qualified domain name. + :param pulumi.Input[str] domain_type: The type of the domain. + :param pulumi.Input[str] name: The name of the domain configuration. This value must be unique to a region. + :param pulumi.Input[Sequence[pulumi.Input[str]]] server_certificate_arns: The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + :param pulumi.Input[str] service_type: The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to this 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['DomainConfigurationTlsConfigArgs'] tls_config: An object that specifies the TLS configuration for a domain. See below. + :param pulumi.Input[str] validation_certificate_arn: The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if authorizer_config is not None: + pulumi.set(__self__, "authorizer_config", authorizer_config) + if domain_name is not None: + pulumi.set(__self__, "domain_name", domain_name) + if domain_type is not None: + pulumi.set(__self__, "domain_type", domain_type) + if name is not None: + pulumi.set(__self__, "name", name) + if server_certificate_arns is not None: + pulumi.set(__self__, "server_certificate_arns", server_certificate_arns) + if service_type is not None: + pulumi.set(__self__, "service_type", service_type) + if status is not None: + pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if tls_config is not None: + pulumi.set(__self__, "tls_config", tls_config) + if validation_certificate_arn is not None: + pulumi.set(__self__, "validation_certificate_arn", validation_certificate_arn) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the domain configuration. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="authorizerConfig") + def authorizer_config(self) -> Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']]: + """ + An object that specifies the authorization service for a domain. See below. + """ + return pulumi.get(self, "authorizer_config") + + @authorizer_config.setter + def authorizer_config(self, value: Optional[pulumi.Input['DomainConfigurationAuthorizerConfigArgs']]): + pulumi.set(self, "authorizer_config", value) + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> Optional[pulumi.Input[str]]: + """ + Fully-qualified domain name. + """ + return pulumi.get(self, "domain_name") + + @domain_name.setter + def domain_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name", value) + + @property + @pulumi.getter(name="domainType") + def domain_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of the domain. + """ + return pulumi.get(self, "domain_type") + + @domain_type.setter + def domain_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the domain configuration. This value must be unique to a region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serverCertificateArns") + def server_certificate_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + """ + return pulumi.get(self, "server_certificate_arns") + + @server_certificate_arns.setter + def server_certificate_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "server_certificate_arns", value) + + @property + @pulumi.getter(name="serviceType") + def service_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + """ + return pulumi.get(self, "service_type") + + @service_type.setter + def service_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to this 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) + + @property + @pulumi.getter(name="tlsConfig") + def tls_config(self) -> Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']]: + """ + An object that specifies the TLS configuration for a domain. See below. + """ + return pulumi.get(self, "tls_config") + + @tls_config.setter + def tls_config(self, value: Optional[pulumi.Input['DomainConfigurationTlsConfigArgs']]): + pulumi.set(self, "tls_config", value) + + @property + @pulumi.getter(name="validationCertificateArn") + def validation_certificate_arn(self) -> Optional[pulumi.Input[str]]: + """ + The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + return pulumi.get(self, "validation_certificate_arn") + + @validation_certificate_arn.setter + def validation_certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "validation_certificate_arn", value) + + +class DomainConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authorizer_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationAuthorizerConfigArgs']]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + server_certificate_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tls_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationTlsConfigArgs']]] = None, + validation_certificate_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Creates and manages an AWS IoT domain configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + iot = aws.iot.DomainConfiguration("iot", + domain_name="iot.example.com", + service_type="DATA", + server_certificate_arns=[aws_acm_certificate["cert"]["arn"]]) + ``` + + ## Import + + Using `pulumi import`, import domain configurations using the name. For example: + + ```sh + $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['DomainConfigurationAuthorizerConfigArgs']] authorizer_config: An object that specifies the authorization service for a domain. See below. + :param pulumi.Input[str] domain_name: Fully-qualified domain name. + :param pulumi.Input[str] name: The name of the domain configuration. This value must be unique to a region. + :param pulumi.Input[Sequence[pulumi.Input[str]]] server_certificate_arns: The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + :param pulumi.Input[str] service_type: The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[pulumi.InputType['DomainConfigurationTlsConfigArgs']] tls_config: An object that specifies the TLS configuration for a domain. See below. + :param pulumi.Input[str] validation_certificate_arn: The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[DomainConfigurationArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates and manages an AWS IoT domain configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + iot = aws.iot.DomainConfiguration("iot", + domain_name="iot.example.com", + service_type="DATA", + server_certificate_arns=[aws_acm_certificate["cert"]["arn"]]) + ``` + + ## Import + + Using `pulumi import`, import domain configurations using the name. For example: + + ```sh + $ pulumi import aws:iot/domainConfiguration:DomainConfiguration example example + ``` + + :param str resource_name: The name of the resource. + :param DomainConfigurationArgs 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(DomainConfigurationArgs, 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, + authorizer_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationAuthorizerConfigArgs']]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + server_certificate_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tls_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationTlsConfigArgs']]] = None, + validation_certificate_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DomainConfigurationArgs.__new__(DomainConfigurationArgs) + + __props__.__dict__["authorizer_config"] = authorizer_config + __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["name"] = name + __props__.__dict__["server_certificate_arns"] = server_certificate_arns + __props__.__dict__["service_type"] = service_type + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tls_config"] = tls_config + __props__.__dict__["validation_certificate_arn"] = validation_certificate_arn + __props__.__dict__["arn"] = None + __props__.__dict__["domain_type"] = None + __props__.__dict__["tags_all"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["tagsAll"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(DomainConfiguration, __self__).__init__( + 'aws:iot/domainConfiguration:DomainConfiguration', + 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, + authorizer_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationAuthorizerConfigArgs']]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + domain_type: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + server_certificate_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tls_config: Optional[pulumi.Input[pulumi.InputType['DomainConfigurationTlsConfigArgs']]] = None, + validation_certificate_arn: Optional[pulumi.Input[str]] = None) -> 'DomainConfiguration': + """ + Get an existing DomainConfiguration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The ARN of the domain configuration. + :param pulumi.Input[pulumi.InputType['DomainConfigurationAuthorizerConfigArgs']] authorizer_config: An object that specifies the authorization service for a domain. See below. + :param pulumi.Input[str] domain_name: Fully-qualified domain name. + :param pulumi.Input[str] domain_type: The type of the domain. + :param pulumi.Input[str] name: The name of the domain configuration. This value must be unique to a region. + :param pulumi.Input[Sequence[pulumi.Input[str]]] server_certificate_arns: The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + :param pulumi.Input[str] service_type: The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to this 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[pulumi.InputType['DomainConfigurationTlsConfigArgs']] tls_config: An object that specifies the TLS configuration for a domain. See below. + :param pulumi.Input[str] validation_certificate_arn: The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DomainConfigurationState.__new__(_DomainConfigurationState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["authorizer_config"] = authorizer_config + __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["domain_type"] = domain_type + __props__.__dict__["name"] = name + __props__.__dict__["server_certificate_arns"] = server_certificate_arns + __props__.__dict__["service_type"] = service_type + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["tls_config"] = tls_config + __props__.__dict__["validation_certificate_arn"] = validation_certificate_arn + return DomainConfiguration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the domain configuration. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="authorizerConfig") + def authorizer_config(self) -> pulumi.Output[Optional['outputs.DomainConfigurationAuthorizerConfig']]: + """ + An object that specifies the authorization service for a domain. See below. + """ + return pulumi.get(self, "authorizer_config") + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> pulumi.Output[Optional[str]]: + """ + Fully-qualified domain name. + """ + return pulumi.get(self, "domain_name") + + @property + @pulumi.getter(name="domainType") + def domain_type(self) -> pulumi.Output[str]: + """ + The type of the domain. + """ + return pulumi.get(self, "domain_type") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the domain configuration. This value must be unique to a region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serverCertificateArns") + def server_certificate_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains. When using a custom `domain_name`, the cert must include it. + """ + return pulumi.get(self, "server_certificate_arns") + + @property + @pulumi.getter(name="serviceType") + def service_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of service delivered by the endpoint. Note: Amazon Web Services IoT Core currently supports only the `DATA` service type. + """ + return pulumi.get(self, "service_type") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of tags to assign to this 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") + + @property + @pulumi.getter(name="tlsConfig") + def tls_config(self) -> pulumi.Output['outputs.DomainConfigurationTlsConfig']: + """ + An object that specifies the TLS configuration for a domain. See below. + """ + return pulumi.get(self, "tls_config") + + @property + @pulumi.getter(name="validationCertificateArn") + def validation_certificate_arn(self) -> pulumi.Output[Optional[str]]: + """ + The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains. + """ + return pulumi.get(self, "validation_certificate_arn") + diff --git a/sdk/python/pulumi_aws/iot/indexing_configuration.py b/sdk/python/pulumi_aws/iot/indexing_configuration.py index 48a939aa7c7..d81a0ace1c3 100644 --- a/sdk/python/pulumi_aws/iot/indexing_configuration.py +++ b/sdk/python/pulumi_aws/iot/indexing_configuration.py @@ -130,6 +130,9 @@ def __init__(__self__, ), ], device_defender_indexing_mode="VIOLATIONS", + filter=aws.iot.IndexingConfigurationThingIndexingConfigurationFilterArgs( + named_shadow_names=["thing1shadow"], + ), named_shadow_indexing_mode="ON", thing_connectivity_indexing_mode="STATUS", thing_indexing_mode="REGISTRY_AND_SHADOW", @@ -176,6 +179,9 @@ def __init__(__self__, ), ], device_defender_indexing_mode="VIOLATIONS", + filter=aws.iot.IndexingConfigurationThingIndexingConfigurationFilterArgs( + named_shadow_names=["thing1shadow"], + ), named_shadow_indexing_mode="ON", thing_connectivity_indexing_mode="STATUS", thing_indexing_mode="REGISTRY_AND_SHADOW", diff --git a/sdk/python/pulumi_aws/iot/outputs.py b/sdk/python/pulumi_aws/iot/outputs.py index 496f85f4ced..877639ebdbe 100644 --- a/sdk/python/pulumi_aws/iot/outputs.py +++ b/sdk/python/pulumi_aws/iot/outputs.py @@ -11,11 +11,14 @@ from . import outputs __all__ = [ + 'DomainConfigurationAuthorizerConfig', + 'DomainConfigurationTlsConfig', 'IndexingConfigurationThingGroupIndexingConfiguration', 'IndexingConfigurationThingGroupIndexingConfigurationCustomField', 'IndexingConfigurationThingGroupIndexingConfigurationManagedField', 'IndexingConfigurationThingIndexingConfiguration', 'IndexingConfigurationThingIndexingConfigurationCustomField', + 'IndexingConfigurationThingIndexingConfigurationFilter', 'IndexingConfigurationThingIndexingConfigurationManagedField', 'ProvisioningTemplatePreProvisioningHook', 'ThingGroupMetadata', @@ -73,6 +76,92 @@ 'TopicRuleTimestreamTimestamp', ] +@pulumi.output_type +class DomainConfigurationAuthorizerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowAuthorizerOverride": + suggest = "allow_authorizer_override" + elif key == "defaultAuthorizerName": + suggest = "default_authorizer_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainConfigurationAuthorizerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainConfigurationAuthorizerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainConfigurationAuthorizerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allow_authorizer_override: Optional[bool] = None, + default_authorizer_name: Optional[str] = None): + """ + :param bool allow_authorizer_override: A Boolean that specifies whether the domain configuration's authorization service can be overridden. + :param str default_authorizer_name: The name of the authorization service for a domain configuration. + """ + if allow_authorizer_override is not None: + pulumi.set(__self__, "allow_authorizer_override", allow_authorizer_override) + if default_authorizer_name is not None: + pulumi.set(__self__, "default_authorizer_name", default_authorizer_name) + + @property + @pulumi.getter(name="allowAuthorizerOverride") + def allow_authorizer_override(self) -> Optional[bool]: + """ + A Boolean that specifies whether the domain configuration's authorization service can be overridden. + """ + return pulumi.get(self, "allow_authorizer_override") + + @property + @pulumi.getter(name="defaultAuthorizerName") + def default_authorizer_name(self) -> Optional[str]: + """ + The name of the authorization service for a domain configuration. + """ + return pulumi.get(self, "default_authorizer_name") + + +@pulumi.output_type +class DomainConfigurationTlsConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityPolicy": + suggest = "security_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainConfigurationTlsConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainConfigurationTlsConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainConfigurationTlsConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_policy: Optional[str] = None): + """ + :param str security_policy: The security policy for a domain configuration. + """ + if security_policy is not None: + pulumi.set(__self__, "security_policy", security_policy) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> Optional[str]: + """ + The security policy for a domain configuration. + """ + return pulumi.get(self, "security_policy") + + @pulumi.output_type class IndexingConfigurationThingGroupIndexingConfiguration(dict): @staticmethod @@ -231,6 +320,7 @@ def __init__(__self__, *, thing_indexing_mode: str, custom_fields: Optional[Sequence['outputs.IndexingConfigurationThingIndexingConfigurationCustomField']] = None, device_defender_indexing_mode: Optional[str] = None, + filter: Optional['outputs.IndexingConfigurationThingIndexingConfigurationFilter'] = None, managed_fields: Optional[Sequence['outputs.IndexingConfigurationThingIndexingConfigurationManagedField']] = None, named_shadow_indexing_mode: Optional[str] = None, thing_connectivity_indexing_mode: Optional[str] = None): @@ -238,6 +328,7 @@ def __init__(__self__, *, :param str thing_indexing_mode: Thing indexing mode. Valid values: `REGISTRY`, `REGISTRY_AND_SHADOW`, `OFF`. :param Sequence['IndexingConfigurationThingIndexingConfigurationCustomFieldArgs'] custom_fields: Contains custom field names and their data type. See below. :param str device_defender_indexing_mode: Device Defender indexing mode. Valid values: `VIOLATIONS`, `OFF`. Default: `OFF`. + :param 'IndexingConfigurationThingIndexingConfigurationFilterArgs' filter: Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. :param Sequence['IndexingConfigurationThingIndexingConfigurationManagedFieldArgs'] managed_fields: Contains fields that are indexed and whose types are already known by the Fleet Indexing service. See below. :param str named_shadow_indexing_mode: [Named shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) indexing mode. Valid values: `ON`, `OFF`. Default: `OFF`. :param str thing_connectivity_indexing_mode: Thing connectivity indexing mode. Valid values: `STATUS`, `OFF`. Default: `OFF`. @@ -247,6 +338,8 @@ def __init__(__self__, *, pulumi.set(__self__, "custom_fields", custom_fields) if device_defender_indexing_mode is not None: pulumi.set(__self__, "device_defender_indexing_mode", device_defender_indexing_mode) + if filter is not None: + pulumi.set(__self__, "filter", filter) if managed_fields is not None: pulumi.set(__self__, "managed_fields", managed_fields) if named_shadow_indexing_mode is not None: @@ -278,6 +371,14 @@ def device_defender_indexing_mode(self) -> Optional[str]: """ return pulumi.get(self, "device_defender_indexing_mode") + @property + @pulumi.getter + def filter(self) -> Optional['outputs.IndexingConfigurationThingIndexingConfigurationFilter']: + """ + Required if `named_shadow_indexing_mode` is `ON`. Enables to add named shadows filtered by `filter` to fleet indexing configuration. + """ + return pulumi.get(self, "filter") + @property @pulumi.getter(name="managedFields") def managed_fields(self) -> Optional[Sequence['outputs.IndexingConfigurationThingIndexingConfigurationManagedField']]: @@ -334,6 +435,42 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class IndexingConfigurationThingIndexingConfigurationFilter(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "namedShadowNames": + suggest = "named_shadow_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IndexingConfigurationThingIndexingConfigurationFilter. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IndexingConfigurationThingIndexingConfigurationFilter.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IndexingConfigurationThingIndexingConfigurationFilter.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + named_shadow_names: Optional[Sequence[str]] = None): + """ + :param Sequence[str] named_shadow_names: List of shadow names that you select to index. + """ + if named_shadow_names is not None: + pulumi.set(__self__, "named_shadow_names", named_shadow_names) + + @property + @pulumi.getter(name="namedShadowNames") + def named_shadow_names(self) -> Optional[Sequence[str]]: + """ + List of shadow names that you select to index. + """ + return pulumi.get(self, "named_shadow_names") + + @pulumi.output_type class IndexingConfigurationThingIndexingConfigurationManagedField(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/iot/provisioning_template.py b/sdk/python/pulumi_aws/iot/provisioning_template.py index 28501deedee..f66f398c4e4 100644 --- a/sdk/python/pulumi_aws/iot/provisioning_template.py +++ b/sdk/python/pulumi_aws/iot/provisioning_template.py @@ -22,7 +22,8 @@ def __init__(__self__, *, enabled: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, pre_provisioning_hook: Optional[pulumi.Input['ProvisioningTemplatePreProvisioningHookArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ProvisioningTemplate resource. :param pulumi.Input[str] provisioning_role_arn: The role ARN for the role associated with the fleet provisioning template. This IoT role grants permission to provision a device. @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the fleet provisioning template. :param pulumi.Input['ProvisioningTemplatePreProvisioningHookArgs'] pre_provisioning_hook: Creates a pre-provisioning hook template. 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[str] type: The type you define in a provisioning template. """ pulumi.set(__self__, "provisioning_role_arn", provisioning_role_arn) pulumi.set(__self__, "template_body", template_body) @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pre_provisioning_hook", pre_provisioning_hook) if tags is not None: pulumi.set(__self__, "tags", tags) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter(name="provisioningRoleArn") @@ -130,6 +134,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type you define in a provisioning template. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + @pulumi.input_type class _ProvisioningTemplateState: @@ -143,7 +159,8 @@ def __init__(__self__, *, provisioning_role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - template_body: Optional[pulumi.Input[str]] = None): + template_body: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ProvisioningTemplate resources. :param pulumi.Input[str] arn: The ARN that identifies the provisioning template. @@ -156,6 +173,7 @@ def __init__(__self__, *, :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] template_body: The JSON formatted contents of the fleet provisioning template. + :param pulumi.Input[str] type: The type you define in a provisioning template. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -180,6 +198,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if template_body is not None: pulumi.set(__self__, "template_body", template_body) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter @@ -304,6 +324,18 @@ def template_body(self) -> Optional[pulumi.Input[str]]: def template_body(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "template_body", value) + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type you define in a provisioning template. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + class ProvisioningTemplate(pulumi.CustomResource): @overload @@ -317,6 +349,7 @@ def __init__(__self__, provisioning_role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, template_body: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): """ Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html). @@ -393,6 +426,7 @@ def __init__(__self__, :param pulumi.Input[str] provisioning_role_arn: The role ARN for the role associated with the fleet provisioning template. This IoT role grants permission to provision a device. :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] template_body: The JSON formatted contents of the fleet provisioning template. + :param pulumi.Input[str] type: The type you define in a provisioning template. """ ... @overload @@ -488,6 +522,7 @@ def _internal_init(__self__, provisioning_role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, template_body: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -508,6 +543,7 @@ def _internal_init(__self__, if template_body is None and not opts.urn: raise TypeError("Missing required property 'template_body'") __props__.__dict__["template_body"] = template_body + __props__.__dict__["type"] = type __props__.__dict__["arn"] = None __props__.__dict__["default_version_id"] = None __props__.__dict__["tags_all"] = None @@ -532,7 +568,8 @@ def get(resource_name: str, provisioning_role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - template_body: Optional[pulumi.Input[str]] = None) -> 'ProvisioningTemplate': + template_body: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None) -> 'ProvisioningTemplate': """ Get an existing ProvisioningTemplate resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -550,6 +587,7 @@ def get(resource_name: str, :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] template_body: The JSON formatted contents of the fleet provisioning template. + :param pulumi.Input[str] type: The type you define in a provisioning template. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -565,6 +603,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["template_body"] = template_body + __props__.__dict__["type"] = type return ProvisioningTemplate(resource_name, opts=opts, __props__=__props__) @property @@ -650,3 +689,11 @@ def template_body(self) -> pulumi.Output[str]: """ return pulumi.get(self, "template_body") + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type you define in a provisioning template. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_aws/lambda_/_inputs.py b/sdk/python/pulumi_aws/lambda_/_inputs.py index 4e4fc3b873d..03729b0395f 100644 --- a/sdk/python/pulumi_aws/lambda_/_inputs.py +++ b/sdk/python/pulumi_aws/lambda_/_inputs.py @@ -785,13 +785,17 @@ class FunctionVpcConfigArgs: def __init__(__self__, *, security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]], subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + ipv6_allowed_for_dual_stack: Optional[pulumi.Input[bool]] = None, vpc_id: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: List of security group IDs associated with the Lambda function. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: List of subnet IDs associated with the Lambda function. + :param pulumi.Input[bool] ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. """ pulumi.set(__self__, "security_group_ids", security_group_ids) pulumi.set(__self__, "subnet_ids", subnet_ids) + if ipv6_allowed_for_dual_stack is not None: + pulumi.set(__self__, "ipv6_allowed_for_dual_stack", ipv6_allowed_for_dual_stack) if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) @@ -819,6 +823,18 @@ def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "subnet_ids", value) + @property + @pulumi.getter(name="ipv6AllowedForDualStack") + def ipv6_allowed_for_dual_stack(self) -> Optional[pulumi.Input[bool]]: + """ + Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + """ + return pulumi.get(self, "ipv6_allowed_for_dual_stack") + + @ipv6_allowed_for_dual_stack.setter + def ipv6_allowed_for_dual_stack(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ipv6_allowed_for_dual_stack", value) + @property @pulumi.getter(name="vpcId") def vpc_id(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/lambda_/outputs.py b/sdk/python/pulumi_aws/lambda_/outputs.py index ad3730b90ce..f43bed8ba9a 100644 --- a/sdk/python/pulumi_aws/lambda_/outputs.py +++ b/sdk/python/pulumi_aws/lambda_/outputs.py @@ -926,6 +926,8 @@ def __key_warning(key: str): suggest = "security_group_ids" elif key == "subnetIds": suggest = "subnet_ids" + elif key == "ipv6AllowedForDualStack": + suggest = "ipv6_allowed_for_dual_stack" elif key == "vpcId": suggest = "vpc_id" @@ -943,13 +945,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, security_group_ids: Sequence[str], subnet_ids: Sequence[str], + ipv6_allowed_for_dual_stack: Optional[bool] = None, vpc_id: Optional[str] = None): """ :param Sequence[str] security_group_ids: List of security group IDs associated with the Lambda function. :param Sequence[str] subnet_ids: List of subnet IDs associated with the Lambda function. + :param bool ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. """ pulumi.set(__self__, "security_group_ids", security_group_ids) pulumi.set(__self__, "subnet_ids", subnet_ids) + if ipv6_allowed_for_dual_stack is not None: + pulumi.set(__self__, "ipv6_allowed_for_dual_stack", ipv6_allowed_for_dual_stack) if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) @@ -969,6 +975,14 @@ def subnet_ids(self) -> Sequence[str]: """ return pulumi.get(self, "subnet_ids") + @property + @pulumi.getter(name="ipv6AllowedForDualStack") + def ipv6_allowed_for_dual_stack(self) -> Optional[bool]: + """ + Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets. Default is `false`. + """ + return pulumi.get(self, "ipv6_allowed_for_dual_stack") + @property @pulumi.getter(name="vpcId") def vpc_id(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/lb/_inputs.py b/sdk/python/pulumi_aws/lb/_inputs.py index 6b83d6c7ed2..476ae5e7044 100644 --- a/sdk/python/pulumi_aws/lb/_inputs.py +++ b/sdk/python/pulumi_aws/lb/_inputs.py @@ -38,6 +38,7 @@ 'TargetGroupHealthCheckArgs', 'TargetGroupStickinessArgs', 'TargetGroupTargetFailoverArgs', + 'TargetGroupTargetHealthStateArgs', ] @pulumi.input_type @@ -2158,3 +2159,25 @@ def on_unhealthy(self, value: pulumi.Input[str]): pulumi.set(self, "on_unhealthy", value) +@pulumi.input_type +class TargetGroupTargetHealthStateArgs: + def __init__(__self__, *, + enable_unhealthy_connection_termination: pulumi.Input[bool]): + """ + :param pulumi.Input[bool] enable_unhealthy_connection_termination: Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + pulumi.set(__self__, "enable_unhealthy_connection_termination", enable_unhealthy_connection_termination) + + @property + @pulumi.getter(name="enableUnhealthyConnectionTermination") + def enable_unhealthy_connection_termination(self) -> pulumi.Input[bool]: + """ + Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + return pulumi.get(self, "enable_unhealthy_connection_termination") + + @enable_unhealthy_connection_termination.setter + def enable_unhealthy_connection_termination(self, value: pulumi.Input[bool]): + pulumi.set(self, "enable_unhealthy_connection_termination", value) + + diff --git a/sdk/python/pulumi_aws/lb/load_balancer.py b/sdk/python/pulumi_aws/lb/load_balancer.py index 3bcd0bd6e46..d0a6f8d31fc 100644 --- a/sdk/python/pulumi_aws/lb/load_balancer.py +++ b/sdk/python/pulumi_aws/lb/load_balancer.py @@ -19,6 +19,7 @@ def __init__(__self__, *, access_logs: Optional[pulumi.Input['LoadBalancerAccessLogsArgs']] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -43,6 +44,7 @@ def __init__(__self__, *, :param pulumi.Input['LoadBalancerAccessLogsArgs'] access_logs: An Access Logs block. Access Logs documented below. :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -73,6 +75,8 @@ def __init__(__self__, *, pulumi.set(__self__, "customer_owned_ipv4_pool", customer_owned_ipv4_pool) if desync_mitigation_mode is not None: pulumi.set(__self__, "desync_mitigation_mode", desync_mitigation_mode) + if dns_record_client_routing_policy is not None: + pulumi.set(__self__, "dns_record_client_routing_policy", dns_record_client_routing_policy) if drop_invalid_header_fields is not None: pulumi.set(__self__, "drop_invalid_header_fields", drop_invalid_header_fields) if enable_cross_zone_load_balancing is not None: @@ -148,6 +152,18 @@ def desync_mitigation_mode(self) -> Optional[pulumi.Input[str]]: def desync_mitigation_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "desync_mitigation_mode", value) + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + + @dns_record_client_routing_policy.setter + def dns_record_client_routing_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_record_client_routing_policy", value) + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> Optional[pulumi.Input[bool]]: @@ -390,6 +406,7 @@ def __init__(__self__, *, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, dns_name: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -420,6 +437,7 @@ def __init__(__self__, *, :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. :param pulumi.Input[str] dns_name: The DNS name of the load balancer. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -458,6 +476,8 @@ def __init__(__self__, *, pulumi.set(__self__, "desync_mitigation_mode", desync_mitigation_mode) if dns_name is not None: pulumi.set(__self__, "dns_name", dns_name) + if dns_record_client_routing_policy is not None: + pulumi.set(__self__, "dns_record_client_routing_policy", dns_record_client_routing_policy) if drop_invalid_header_fields is not None: pulumi.set(__self__, "drop_invalid_header_fields", drop_invalid_header_fields) if enable_cross_zone_load_balancing is not None: @@ -578,6 +598,18 @@ def dns_name(self) -> Optional[pulumi.Input[str]]: def dns_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dns_name", value) + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> Optional[pulumi.Input[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + + @dns_record_client_routing_policy.setter + def dns_record_client_routing_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_record_client_routing_policy", value) + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> Optional[pulumi.Input[bool]]: @@ -855,6 +887,7 @@ def __init__(__self__, access_logs: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']]] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -969,6 +1002,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']] access_logs: An Access Logs block. Access Logs documented below. :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -1106,6 +1140,7 @@ def _internal_init(__self__, access_logs: Optional[pulumi.Input[pulumi.InputType['LoadBalancerAccessLogsArgs']]] = None, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -1137,6 +1172,7 @@ def _internal_init(__self__, __props__.__dict__["access_logs"] = access_logs __props__.__dict__["customer_owned_ipv4_pool"] = customer_owned_ipv4_pool __props__.__dict__["desync_mitigation_mode"] = desync_mitigation_mode + __props__.__dict__["dns_record_client_routing_policy"] = dns_record_client_routing_policy __props__.__dict__["drop_invalid_header_fields"] = drop_invalid_header_fields __props__.__dict__["enable_cross_zone_load_balancing"] = enable_cross_zone_load_balancing __props__.__dict__["enable_deletion_protection"] = enable_deletion_protection @@ -1182,6 +1218,7 @@ def get(resource_name: str, customer_owned_ipv4_pool: Optional[pulumi.Input[str]] = None, desync_mitigation_mode: Optional[pulumi.Input[str]] = None, dns_name: Optional[pulumi.Input[str]] = None, + dns_record_client_routing_policy: Optional[pulumi.Input[str]] = None, drop_invalid_header_fields: Optional[pulumi.Input[bool]] = None, enable_cross_zone_load_balancing: Optional[pulumi.Input[bool]] = None, enable_deletion_protection: Optional[pulumi.Input[bool]] = None, @@ -1217,6 +1254,7 @@ def get(resource_name: str, :param pulumi.Input[str] customer_owned_ipv4_pool: The ID of the customer owned ipv4 pool to use for this load balancer. :param pulumi.Input[str] desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are `monitor`, `defensive` (default), `strictest`. :param pulumi.Input[str] dns_name: The DNS name of the load balancer. + :param pulumi.Input[str] dns_record_client_routing_policy: Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. :param pulumi.Input[bool] drop_invalid_header_fields: Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false). The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type `application`. :param pulumi.Input[bool] enable_cross_zone_load_balancing: If true, cross-zone load balancing of the load balancer will be enabled. For `network` and `gateway` type load balancers, this feature is disabled by default (`false`). For `application` load balancer this feature is always enabled (`true`) and cannot be disabled. Defaults to `false`. :param pulumi.Input[bool] enable_deletion_protection: If true, deletion of the load balancer will be disabled via the AWS API. This will prevent this provider from deleting the load balancer. Defaults to `false`. @@ -1253,6 +1291,7 @@ def get(resource_name: str, __props__.__dict__["customer_owned_ipv4_pool"] = customer_owned_ipv4_pool __props__.__dict__["desync_mitigation_mode"] = desync_mitigation_mode __props__.__dict__["dns_name"] = dns_name + __props__.__dict__["dns_record_client_routing_policy"] = dns_record_client_routing_policy __props__.__dict__["drop_invalid_header_fields"] = drop_invalid_header_fields __props__.__dict__["enable_cross_zone_load_balancing"] = enable_cross_zone_load_balancing __props__.__dict__["enable_deletion_protection"] = enable_deletion_protection @@ -1325,6 +1364,14 @@ def dns_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "dns_name") + @property + @pulumi.getter(name="dnsRecordClientRoutingPolicy") + def dns_record_client_routing_policy(self) -> pulumi.Output[Optional[str]]: + """ + Indicates how traffic is distributed among the load balancer Availability Zones. Possible values are `any_availability_zone` (default), `availability_zone_affinity`, or `partial_availability_zone_affinity`. See [Availability Zone DNS affinity](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#zonal-dns-affinity) for additional details. Only valid for `network` type load balancers. + """ + return pulumi.get(self, "dns_record_client_routing_policy") + @property @pulumi.getter(name="dropInvalidHeaderFields") def drop_invalid_header_fields(self) -> pulumi.Output[Optional[bool]]: @@ -1425,7 +1472,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/lb/outputs.py b/sdk/python/pulumi_aws/lb/outputs.py index 067c0ec93e0..db3be31cf9c 100644 --- a/sdk/python/pulumi_aws/lb/outputs.py +++ b/sdk/python/pulumi_aws/lb/outputs.py @@ -39,6 +39,7 @@ 'TargetGroupHealthCheck', 'TargetGroupStickiness', 'TargetGroupTargetFailover', + 'TargetGroupTargetHealthState', 'GetListenerDefaultActionResult', 'GetListenerDefaultActionAuthenticateCognitoResult', 'GetListenerDefaultActionAuthenticateOidcResult', @@ -2093,6 +2094,41 @@ def on_unhealthy(self) -> str: return pulumi.get(self, "on_unhealthy") +@pulumi.output_type +class TargetGroupTargetHealthState(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enableUnhealthyConnectionTermination": + suggest = "enable_unhealthy_connection_termination" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TargetGroupTargetHealthState. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TargetGroupTargetHealthState.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TargetGroupTargetHealthState.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable_unhealthy_connection_termination: bool): + """ + :param bool enable_unhealthy_connection_termination: Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + pulumi.set(__self__, "enable_unhealthy_connection_termination", enable_unhealthy_connection_termination) + + @property + @pulumi.getter(name="enableUnhealthyConnectionTermination") + def enable_unhealthy_connection_termination(self) -> bool: + """ + Indicates whether the load balancer terminates connections to unhealthy targets. Possible values are `true` or `false`. Default: `true`. + """ + return pulumi.get(self, "enable_unhealthy_connection_termination") + + @pulumi.output_type class GetListenerDefaultActionResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/lb/target_group.py b/sdk/python/pulumi_aws/lb/target_group.py index b4b69c867fd..38bf44d967f 100644 --- a/sdk/python/pulumi_aws/lb/target_group.py +++ b/sdk/python/pulumi_aws/lb/target_group.py @@ -34,6 +34,7 @@ def __init__(__self__, *, stickiness: Optional[pulumi.Input['TargetGroupStickinessArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None): """ @@ -56,6 +57,7 @@ def __init__(__self__, *, :param pulumi.Input['TargetGroupStickinessArgs'] stickiness: Stickiness configuration block. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -103,6 +105,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if target_failovers is not None: pulumi.set(__self__, "target_failovers", target_failovers) + if target_health_states is not None: + pulumi.set(__self__, "target_health_states", target_health_states) if target_type is not None: pulumi.set(__self__, "target_type", target_type) if vpc_id is not None: @@ -324,6 +328,18 @@ def target_failovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Targe def target_failovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]]): pulumi.set(self, "target_failovers", value) + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + + @target_health_states.setter + def target_health_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]): + pulumi.set(self, "target_health_states", value) + @property @pulumi.getter(name="targetType") def target_type(self) -> Optional[pulumi.Input[str]]: @@ -381,6 +397,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, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None): """ @@ -406,6 +423,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -462,6 +480,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if target_failovers is not None: pulumi.set(__self__, "target_failovers", target_failovers) + if target_health_states is not None: + pulumi.set(__self__, "target_health_states", target_health_states) if target_type is not None: pulumi.set(__self__, "target_type", target_type) if vpc_id is not None: @@ -722,6 +742,18 @@ def target_failovers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Targe def target_failovers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetFailoverArgs']]]]): pulumi.set(self, "target_failovers", value) + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + + @target_health_states.setter + def target_health_states(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TargetGroupTargetHealthStateArgs']]]]): + pulumi.set(self, "target_health_states", value) + @property @pulumi.getter(name="targetType") def target_type(self) -> Optional[pulumi.Input[str]]: @@ -778,6 +810,7 @@ def __init__(__self__, stickiness: Optional[pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -832,6 +865,20 @@ def __init__(__self__, protocol="TCP", vpc_id=aws_vpc["main"]["id"]) ``` + ### Target group with unhealthy connection termination disabled + + ```python + import pulumi + import pulumi_aws as aws + + tcp_example = aws.lb.TargetGroup("tcp-example", + port=25, + protocol="TCP", + vpc_id=aws_vpc["main"]["id"], + target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs( + enable_unhealthy_connection_termination=False, + )]) + ``` ## Import @@ -861,6 +908,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']] stickiness: Stickiness configuration block. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -929,6 +977,20 @@ def __init__(__self__, protocol="TCP", vpc_id=aws_vpc["main"]["id"]) ``` + ### Target group with unhealthy connection termination disabled + + ```python + import pulumi + import pulumi_aws as aws + + tcp_example = aws.lb.TargetGroup("tcp-example", + port=25, + protocol="TCP", + vpc_id=aws_vpc["main"]["id"], + target_health_states=[aws.lb.TargetGroupTargetHealthStateArgs( + enable_unhealthy_connection_termination=False, + )]) + ``` ## Import @@ -971,6 +1033,7 @@ def _internal_init(__self__, stickiness: Optional[pulumi.Input[pulumi.InputType['TargetGroupStickinessArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -1000,6 +1063,7 @@ def _internal_init(__self__, __props__.__dict__["stickiness"] = stickiness __props__.__dict__["tags"] = tags __props__.__dict__["target_failovers"] = target_failovers + __props__.__dict__["target_health_states"] = target_health_states __props__.__dict__["target_type"] = target_type __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["arn"] = None @@ -1040,6 +1104,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, target_failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]]] = None, + target_health_states: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]]] = None, target_type: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None) -> 'TargetGroup': """ @@ -1070,6 +1135,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetFailoverArgs']]]] target_failovers: Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TargetGroupTargetHealthStateArgs']]]] target_health_states: Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. :param pulumi.Input[str] target_type: Type of target that you must specify when registering targets with this target group. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html) for supported values. The default is `instance`. Note that you can't specify targets for a target group using both instance IDs and IP addresses. @@ -1106,6 +1172,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["target_failovers"] = target_failovers + __props__.__dict__["target_health_states"] = target_health_states __props__.__dict__["target_type"] = target_type __props__.__dict__["vpc_id"] = vpc_id return TargetGroup(resource_name, opts=opts, __props__=__props__) @@ -1128,7 +1195,7 @@ def arn_suffix(self) -> pulumi.Output[str]: @property @pulumi.getter(name="connectionTermination") - def connection_termination(self) -> pulumi.Output[Optional[bool]]: + def connection_termination(self) -> pulumi.Output[bool]: """ Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers. See [doc](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#deregistration-delay) for more information. Default is `false`. """ @@ -1192,7 +1259,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. Cannot be longer than 6 characters. """ @@ -1281,6 +1348,14 @@ def target_failovers(self) -> pulumi.Output[Sequence['outputs.TargetGroupTargetF """ return pulumi.get(self, "target_failovers") + @property + @pulumi.getter(name="targetHealthStates") + def target_health_states(self) -> pulumi.Output[Sequence['outputs.TargetGroupTargetHealthState']]: + """ + Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information. + """ + return pulumi.get(self, "target_health_states") + @property @pulumi.getter(name="targetType") def target_type(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/lightsail/key_pair.py b/sdk/python/pulumi_aws/lightsail/key_pair.py index 8a9f34d8988..6b69b3fdd0d 100644 --- a/sdk/python/pulumi_aws/lightsail/key_pair.py +++ b/sdk/python/pulumi_aws/lightsail/key_pair.py @@ -528,7 +528,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: return pulumi.get(self, "name_prefix") @property diff --git a/sdk/python/pulumi_aws/mediaconvert/__init__.py b/sdk/python/pulumi_aws/mediaconvert/__init__.py index 74347c047a9..d69731acb2e 100644 --- a/sdk/python/pulumi_aws/mediaconvert/__init__.py +++ b/sdk/python/pulumi_aws/mediaconvert/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .get_queue import * from .queue import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/mediaconvert/get_queue.py b/sdk/python/pulumi_aws/mediaconvert/get_queue.py new file mode 100644 index 00000000000..73ee6944196 --- /dev/null +++ b/sdk/python/pulumi_aws/mediaconvert/get_queue.py @@ -0,0 +1,145 @@ +# 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__ = [ + 'GetQueueResult', + 'AwaitableGetQueueResult', + 'get_queue', + 'get_queue_output', +] + +@pulumi.output_type +class GetQueueResult: + """ + A collection of values returned by getQueue. + """ + def __init__(__self__, arn=None, id=None, name=None, status=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 id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + """ + The Arn of the queue. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The same as `id`. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> str: + """ + The status of the queue. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetQueueResult(GetQueueResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetQueueResult( + arn=self.arn, + id=self.id, + name=self.name, + status=self.status, + tags=self.tags) + + +def get_queue(id: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetQueueResult: + """ + Retrieve information about a AWS Elemental MediaConvert Queue. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.mediaconvert.get_queue(id="tf-example-queue") + ``` + + + :param str id: Unique identifier of the queue. The same as `name`. + :param Mapping[str, str] tags: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + __args__ = dict() + __args__['id'] = id + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:mediaconvert/getQueue:getQueue', __args__, opts=opts, typ=GetQueueResult).value + + return AwaitableGetQueueResult( + arn=pulumi.get(__ret__, 'arn'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + status=pulumi.get(__ret__, 'status'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_queue) +def get_queue_output(id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueueResult]: + """ + Retrieve information about a AWS Elemental MediaConvert Queue. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.mediaconvert.get_queue(id="tf-example-queue") + ``` + + + :param str id: Unique identifier of the queue. The same as `name`. + :param Mapping[str, str] tags: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + ... diff --git a/sdk/python/pulumi_aws/msk/__init__.py b/sdk/python/pulumi_aws/msk/__init__.py index dc2641d9fae..6b643319019 100644 --- a/sdk/python/pulumi_aws/msk/__init__.py +++ b/sdk/python/pulumi_aws/msk/__init__.py @@ -13,6 +13,7 @@ from .get_configuration import * from .get_kafka_version import * from .get_vpc_connection import * +from .replicator import * from .scram_secret_association import * from .serverless_cluster import * from .vpc_connection import * diff --git a/sdk/python/pulumi_aws/msk/_inputs.py b/sdk/python/pulumi_aws/msk/_inputs.py index 9672afdd687..3a85d1ab2a3 100644 --- a/sdk/python/pulumi_aws/msk/_inputs.py +++ b/sdk/python/pulumi_aws/msk/_inputs.py @@ -34,6 +34,12 @@ 'ClusterOpenMonitoringPrometheusArgs', 'ClusterOpenMonitoringPrometheusJmxExporterArgs', 'ClusterOpenMonitoringPrometheusNodeExporterArgs', + 'ReplicatorKafkaClusterArgs', + 'ReplicatorKafkaClusterAmazonMskClusterArgs', + 'ReplicatorKafkaClusterVpcConfigArgs', + 'ReplicatorReplicationInfoListArgs', + 'ReplicatorReplicationInfoListConsumerGroupReplicationArgs', + 'ReplicatorReplicationInfoListTopicReplicationArgs', 'ServerlessClusterClientAuthenticationArgs', 'ServerlessClusterClientAuthenticationSaslArgs', 'ServerlessClusterClientAuthenticationSaslIamArgs', @@ -934,6 +940,365 @@ def enabled_in_broker(self, value: pulumi.Input[bool]): pulumi.set(self, "enabled_in_broker", value) +@pulumi.input_type +class ReplicatorKafkaClusterArgs: + def __init__(__self__, *, + amazon_msk_cluster: pulumi.Input['ReplicatorKafkaClusterAmazonMskClusterArgs'], + vpc_config: pulumi.Input['ReplicatorKafkaClusterVpcConfigArgs']): + """ + :param pulumi.Input['ReplicatorKafkaClusterAmazonMskClusterArgs'] amazon_msk_cluster: Details of an Amazon MSK cluster. + :param pulumi.Input['ReplicatorKafkaClusterVpcConfigArgs'] vpc_config: Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + """ + pulumi.set(__self__, "amazon_msk_cluster", amazon_msk_cluster) + pulumi.set(__self__, "vpc_config", vpc_config) + + @property + @pulumi.getter(name="amazonMskCluster") + def amazon_msk_cluster(self) -> pulumi.Input['ReplicatorKafkaClusterAmazonMskClusterArgs']: + """ + Details of an Amazon MSK cluster. + """ + return pulumi.get(self, "amazon_msk_cluster") + + @amazon_msk_cluster.setter + def amazon_msk_cluster(self, value: pulumi.Input['ReplicatorKafkaClusterAmazonMskClusterArgs']): + pulumi.set(self, "amazon_msk_cluster", value) + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> pulumi.Input['ReplicatorKafkaClusterVpcConfigArgs']: + """ + Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + """ + return pulumi.get(self, "vpc_config") + + @vpc_config.setter + def vpc_config(self, value: pulumi.Input['ReplicatorKafkaClusterVpcConfigArgs']): + pulumi.set(self, "vpc_config", value) + + +@pulumi.input_type +class ReplicatorKafkaClusterAmazonMskClusterArgs: + def __init__(__self__, *, + msk_cluster_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] msk_cluster_arn: The ARN of an Amazon MSK cluster. + """ + pulumi.set(__self__, "msk_cluster_arn", msk_cluster_arn) + + @property + @pulumi.getter(name="mskClusterArn") + def msk_cluster_arn(self) -> pulumi.Input[str]: + """ + The ARN of an Amazon MSK cluster. + """ + return pulumi.get(self, "msk_cluster_arn") + + @msk_cluster_arn.setter + def msk_cluster_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "msk_cluster_arn", value) + + +@pulumi.input_type +class ReplicatorKafkaClusterVpcConfigArgs: + def __init__(__self__, *, + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups_ids: The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + """ + pulumi.set(__self__, "subnet_ids", subnet_ids) + if security_groups_ids is not None: + pulumi.set(__self__, "security_groups_ids", security_groups_ids) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnet_ids", value) + + @property + @pulumi.getter(name="securityGroupsIds") + def security_groups_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + """ + return pulumi.get(self, "security_groups_ids") + + @security_groups_ids.setter + def security_groups_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_groups_ids", value) + + +@pulumi.input_type +class ReplicatorReplicationInfoListArgs: + def __init__(__self__, *, + consumer_group_replications: pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListConsumerGroupReplicationArgs']]], + source_kafka_cluster_arn: pulumi.Input[str], + target_compression_type: pulumi.Input[str], + target_kafka_cluster_arn: pulumi.Input[str], + topic_replications: pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationArgs']]], + source_kafka_cluster_alias: Optional[pulumi.Input[str]] = None, + target_kafka_cluster_alias: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListConsumerGroupReplicationArgs']]] consumer_group_replications: Confguration relating to consumer group replication. + :param pulumi.Input[str] source_kafka_cluster_arn: The ARN of the source Kafka cluster. + :param pulumi.Input[str] target_compression_type: The type of compression to use writing records to target Kafka cluster. + :param pulumi.Input[str] target_kafka_cluster_arn: The ARN of the target Kafka cluster. + :param pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationArgs']]] topic_replications: Configuration relating to topic replication. + """ + pulumi.set(__self__, "consumer_group_replications", consumer_group_replications) + pulumi.set(__self__, "source_kafka_cluster_arn", source_kafka_cluster_arn) + pulumi.set(__self__, "target_compression_type", target_compression_type) + pulumi.set(__self__, "target_kafka_cluster_arn", target_kafka_cluster_arn) + pulumi.set(__self__, "topic_replications", topic_replications) + if source_kafka_cluster_alias is not None: + pulumi.set(__self__, "source_kafka_cluster_alias", source_kafka_cluster_alias) + if target_kafka_cluster_alias is not None: + pulumi.set(__self__, "target_kafka_cluster_alias", target_kafka_cluster_alias) + + @property + @pulumi.getter(name="consumerGroupReplications") + def consumer_group_replications(self) -> pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListConsumerGroupReplicationArgs']]]: + """ + Confguration relating to consumer group replication. + """ + return pulumi.get(self, "consumer_group_replications") + + @consumer_group_replications.setter + def consumer_group_replications(self, value: pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListConsumerGroupReplicationArgs']]]): + pulumi.set(self, "consumer_group_replications", value) + + @property + @pulumi.getter(name="sourceKafkaClusterArn") + def source_kafka_cluster_arn(self) -> pulumi.Input[str]: + """ + The ARN of the source Kafka cluster. + """ + return pulumi.get(self, "source_kafka_cluster_arn") + + @source_kafka_cluster_arn.setter + def source_kafka_cluster_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "source_kafka_cluster_arn", value) + + @property + @pulumi.getter(name="targetCompressionType") + def target_compression_type(self) -> pulumi.Input[str]: + """ + The type of compression to use writing records to target Kafka cluster. + """ + return pulumi.get(self, "target_compression_type") + + @target_compression_type.setter + def target_compression_type(self, value: pulumi.Input[str]): + pulumi.set(self, "target_compression_type", value) + + @property + @pulumi.getter(name="targetKafkaClusterArn") + def target_kafka_cluster_arn(self) -> pulumi.Input[str]: + """ + The ARN of the target Kafka cluster. + """ + return pulumi.get(self, "target_kafka_cluster_arn") + + @target_kafka_cluster_arn.setter + def target_kafka_cluster_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "target_kafka_cluster_arn", value) + + @property + @pulumi.getter(name="topicReplications") + def topic_replications(self) -> pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationArgs']]]: + """ + Configuration relating to topic replication. + """ + return pulumi.get(self, "topic_replications") + + @topic_replications.setter + def topic_replications(self, value: pulumi.Input[Sequence[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationArgs']]]): + pulumi.set(self, "topic_replications", value) + + @property + @pulumi.getter(name="sourceKafkaClusterAlias") + def source_kafka_cluster_alias(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "source_kafka_cluster_alias") + + @source_kafka_cluster_alias.setter + def source_kafka_cluster_alias(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_kafka_cluster_alias", value) + + @property + @pulumi.getter(name="targetKafkaClusterAlias") + def target_kafka_cluster_alias(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "target_kafka_cluster_alias") + + @target_kafka_cluster_alias.setter + def target_kafka_cluster_alias(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_kafka_cluster_alias", value) + + +@pulumi.input_type +class ReplicatorReplicationInfoListConsumerGroupReplicationArgs: + def __init__(__self__, *, + consumer_groups_to_replicates: pulumi.Input[Sequence[pulumi.Input[str]]], + consumer_groups_to_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + detect_and_copy_new_consumer_groups: Optional[pulumi.Input[bool]] = None, + synchronise_consumer_group_offsets: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] consumer_groups_to_replicates: List of regular expression patterns indicating the consumer groups to copy. + :param pulumi.Input[Sequence[pulumi.Input[str]]] consumer_groups_to_excludes: List of regular expression patterns indicating the consumer groups that should not be replicated. + :param pulumi.Input[bool] detect_and_copy_new_consumer_groups: Whether to periodically check for new consumer groups. + :param pulumi.Input[bool] synchronise_consumer_group_offsets: Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + """ + pulumi.set(__self__, "consumer_groups_to_replicates", consumer_groups_to_replicates) + if consumer_groups_to_excludes is not None: + pulumi.set(__self__, "consumer_groups_to_excludes", consumer_groups_to_excludes) + if detect_and_copy_new_consumer_groups is not None: + pulumi.set(__self__, "detect_and_copy_new_consumer_groups", detect_and_copy_new_consumer_groups) + if synchronise_consumer_group_offsets is not None: + pulumi.set(__self__, "synchronise_consumer_group_offsets", synchronise_consumer_group_offsets) + + @property + @pulumi.getter(name="consumerGroupsToReplicates") + def consumer_groups_to_replicates(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of regular expression patterns indicating the consumer groups to copy. + """ + return pulumi.get(self, "consumer_groups_to_replicates") + + @consumer_groups_to_replicates.setter + def consumer_groups_to_replicates(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "consumer_groups_to_replicates", value) + + @property + @pulumi.getter(name="consumerGroupsToExcludes") + def consumer_groups_to_excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of regular expression patterns indicating the consumer groups that should not be replicated. + """ + return pulumi.get(self, "consumer_groups_to_excludes") + + @consumer_groups_to_excludes.setter + def consumer_groups_to_excludes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "consumer_groups_to_excludes", value) + + @property + @pulumi.getter(name="detectAndCopyNewConsumerGroups") + def detect_and_copy_new_consumer_groups(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to periodically check for new consumer groups. + """ + return pulumi.get(self, "detect_and_copy_new_consumer_groups") + + @detect_and_copy_new_consumer_groups.setter + def detect_and_copy_new_consumer_groups(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "detect_and_copy_new_consumer_groups", value) + + @property + @pulumi.getter(name="synchroniseConsumerGroupOffsets") + def synchronise_consumer_group_offsets(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + """ + return pulumi.get(self, "synchronise_consumer_group_offsets") + + @synchronise_consumer_group_offsets.setter + def synchronise_consumer_group_offsets(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "synchronise_consumer_group_offsets", value) + + +@pulumi.input_type +class ReplicatorReplicationInfoListTopicReplicationArgs: + def __init__(__self__, *, + topics_to_replicates: pulumi.Input[Sequence[pulumi.Input[str]]], + copy_access_control_lists_for_topics: Optional[pulumi.Input[bool]] = None, + copy_topic_configurations: Optional[pulumi.Input[bool]] = None, + detect_and_copy_new_topics: Optional[pulumi.Input[bool]] = None, + topics_to_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] topics_to_replicates: List of regular expression patterns indicating the topics to copy. + :param pulumi.Input[bool] copy_access_control_lists_for_topics: Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + :param pulumi.Input[bool] copy_topic_configurations: Whether to periodically configure remote topics to match their corresponding upstream topics. + :param pulumi.Input[bool] detect_and_copy_new_topics: Whether to periodically check for new topics and partitions. + :param pulumi.Input[Sequence[pulumi.Input[str]]] topics_to_excludes: List of regular expression patterns indicating the topics that should not be replica. + """ + pulumi.set(__self__, "topics_to_replicates", topics_to_replicates) + if copy_access_control_lists_for_topics is not None: + pulumi.set(__self__, "copy_access_control_lists_for_topics", copy_access_control_lists_for_topics) + if copy_topic_configurations is not None: + pulumi.set(__self__, "copy_topic_configurations", copy_topic_configurations) + if detect_and_copy_new_topics is not None: + pulumi.set(__self__, "detect_and_copy_new_topics", detect_and_copy_new_topics) + if topics_to_excludes is not None: + pulumi.set(__self__, "topics_to_excludes", topics_to_excludes) + + @property + @pulumi.getter(name="topicsToReplicates") + def topics_to_replicates(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of regular expression patterns indicating the topics to copy. + """ + return pulumi.get(self, "topics_to_replicates") + + @topics_to_replicates.setter + def topics_to_replicates(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "topics_to_replicates", value) + + @property + @pulumi.getter(name="copyAccessControlListsForTopics") + def copy_access_control_lists_for_topics(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + """ + return pulumi.get(self, "copy_access_control_lists_for_topics") + + @copy_access_control_lists_for_topics.setter + def copy_access_control_lists_for_topics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "copy_access_control_lists_for_topics", value) + + @property + @pulumi.getter(name="copyTopicConfigurations") + def copy_topic_configurations(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to periodically configure remote topics to match their corresponding upstream topics. + """ + return pulumi.get(self, "copy_topic_configurations") + + @copy_topic_configurations.setter + def copy_topic_configurations(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "copy_topic_configurations", value) + + @property + @pulumi.getter(name="detectAndCopyNewTopics") + def detect_and_copy_new_topics(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to periodically check for new topics and partitions. + """ + return pulumi.get(self, "detect_and_copy_new_topics") + + @detect_and_copy_new_topics.setter + def detect_and_copy_new_topics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "detect_and_copy_new_topics", value) + + @property + @pulumi.getter(name="topicsToExcludes") + def topics_to_excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of regular expression patterns indicating the topics that should not be replica. + """ + return pulumi.get(self, "topics_to_excludes") + + @topics_to_excludes.setter + def topics_to_excludes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "topics_to_excludes", value) + + @pulumi.input_type class ServerlessClusterClientAuthenticationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/msk/outputs.py b/sdk/python/pulumi_aws/msk/outputs.py index 458098ae439..826d31e4738 100644 --- a/sdk/python/pulumi_aws/msk/outputs.py +++ b/sdk/python/pulumi_aws/msk/outputs.py @@ -35,6 +35,12 @@ 'ClusterOpenMonitoringPrometheus', 'ClusterOpenMonitoringPrometheusJmxExporter', 'ClusterOpenMonitoringPrometheusNodeExporter', + 'ReplicatorKafkaCluster', + 'ReplicatorKafkaClusterAmazonMskCluster', + 'ReplicatorKafkaClusterVpcConfig', + 'ReplicatorReplicationInfoList', + 'ReplicatorReplicationInfoListConsumerGroupReplication', + 'ReplicatorReplicationInfoListTopicReplication', 'ServerlessClusterClientAuthentication', 'ServerlessClusterClientAuthenticationSasl', 'ServerlessClusterClientAuthenticationSaslIam', @@ -1040,6 +1046,413 @@ def enabled_in_broker(self) -> bool: return pulumi.get(self, "enabled_in_broker") +@pulumi.output_type +class ReplicatorKafkaCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "amazonMskCluster": + suggest = "amazon_msk_cluster" + elif key == "vpcConfig": + suggest = "vpc_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorKafkaCluster. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorKafkaCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorKafkaCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amazon_msk_cluster: 'outputs.ReplicatorKafkaClusterAmazonMskCluster', + vpc_config: 'outputs.ReplicatorKafkaClusterVpcConfig'): + """ + :param 'ReplicatorKafkaClusterAmazonMskClusterArgs' amazon_msk_cluster: Details of an Amazon MSK cluster. + :param 'ReplicatorKafkaClusterVpcConfigArgs' vpc_config: Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + """ + pulumi.set(__self__, "amazon_msk_cluster", amazon_msk_cluster) + pulumi.set(__self__, "vpc_config", vpc_config) + + @property + @pulumi.getter(name="amazonMskCluster") + def amazon_msk_cluster(self) -> 'outputs.ReplicatorKafkaClusterAmazonMskCluster': + """ + Details of an Amazon MSK cluster. + """ + return pulumi.get(self, "amazon_msk_cluster") + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> 'outputs.ReplicatorKafkaClusterVpcConfig': + """ + Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster. + """ + return pulumi.get(self, "vpc_config") + + +@pulumi.output_type +class ReplicatorKafkaClusterAmazonMskCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mskClusterArn": + suggest = "msk_cluster_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorKafkaClusterAmazonMskCluster. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorKafkaClusterAmazonMskCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorKafkaClusterAmazonMskCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + msk_cluster_arn: str): + """ + :param str msk_cluster_arn: The ARN of an Amazon MSK cluster. + """ + pulumi.set(__self__, "msk_cluster_arn", msk_cluster_arn) + + @property + @pulumi.getter(name="mskClusterArn") + def msk_cluster_arn(self) -> str: + """ + The ARN of an Amazon MSK cluster. + """ + return pulumi.get(self, "msk_cluster_arn") + + +@pulumi.output_type +class ReplicatorKafkaClusterVpcConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetIds": + suggest = "subnet_ids" + elif key == "securityGroupsIds": + suggest = "security_groups_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorKafkaClusterVpcConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorKafkaClusterVpcConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorKafkaClusterVpcConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_ids: Sequence[str], + security_groups_ids: Optional[Sequence[str]] = None): + """ + :param Sequence[str] subnet_ids: The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + :param Sequence[str] security_groups_ids: The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + """ + pulumi.set(__self__, "subnet_ids", subnet_ids) + if security_groups_ids is not None: + pulumi.set(__self__, "security_groups_ids", security_groups_ids) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: + """ + The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator. + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter(name="securityGroupsIds") + def security_groups_ids(self) -> Optional[Sequence[str]]: + """ + The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used. + """ + return pulumi.get(self, "security_groups_ids") + + +@pulumi.output_type +class ReplicatorReplicationInfoList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "consumerGroupReplications": + suggest = "consumer_group_replications" + elif key == "sourceKafkaClusterArn": + suggest = "source_kafka_cluster_arn" + elif key == "targetCompressionType": + suggest = "target_compression_type" + elif key == "targetKafkaClusterArn": + suggest = "target_kafka_cluster_arn" + elif key == "topicReplications": + suggest = "topic_replications" + elif key == "sourceKafkaClusterAlias": + suggest = "source_kafka_cluster_alias" + elif key == "targetKafkaClusterAlias": + suggest = "target_kafka_cluster_alias" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorReplicationInfoList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorReplicationInfoList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorReplicationInfoList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + consumer_group_replications: Sequence['outputs.ReplicatorReplicationInfoListConsumerGroupReplication'], + source_kafka_cluster_arn: str, + target_compression_type: str, + target_kafka_cluster_arn: str, + topic_replications: Sequence['outputs.ReplicatorReplicationInfoListTopicReplication'], + source_kafka_cluster_alias: Optional[str] = None, + target_kafka_cluster_alias: Optional[str] = None): + """ + :param Sequence['ReplicatorReplicationInfoListConsumerGroupReplicationArgs'] consumer_group_replications: Confguration relating to consumer group replication. + :param str source_kafka_cluster_arn: The ARN of the source Kafka cluster. + :param str target_compression_type: The type of compression to use writing records to target Kafka cluster. + :param str target_kafka_cluster_arn: The ARN of the target Kafka cluster. + :param Sequence['ReplicatorReplicationInfoListTopicReplicationArgs'] topic_replications: Configuration relating to topic replication. + """ + pulumi.set(__self__, "consumer_group_replications", consumer_group_replications) + pulumi.set(__self__, "source_kafka_cluster_arn", source_kafka_cluster_arn) + pulumi.set(__self__, "target_compression_type", target_compression_type) + pulumi.set(__self__, "target_kafka_cluster_arn", target_kafka_cluster_arn) + pulumi.set(__self__, "topic_replications", topic_replications) + if source_kafka_cluster_alias is not None: + pulumi.set(__self__, "source_kafka_cluster_alias", source_kafka_cluster_alias) + if target_kafka_cluster_alias is not None: + pulumi.set(__self__, "target_kafka_cluster_alias", target_kafka_cluster_alias) + + @property + @pulumi.getter(name="consumerGroupReplications") + def consumer_group_replications(self) -> Sequence['outputs.ReplicatorReplicationInfoListConsumerGroupReplication']: + """ + Confguration relating to consumer group replication. + """ + return pulumi.get(self, "consumer_group_replications") + + @property + @pulumi.getter(name="sourceKafkaClusterArn") + def source_kafka_cluster_arn(self) -> str: + """ + The ARN of the source Kafka cluster. + """ + return pulumi.get(self, "source_kafka_cluster_arn") + + @property + @pulumi.getter(name="targetCompressionType") + def target_compression_type(self) -> str: + """ + The type of compression to use writing records to target Kafka cluster. + """ + return pulumi.get(self, "target_compression_type") + + @property + @pulumi.getter(name="targetKafkaClusterArn") + def target_kafka_cluster_arn(self) -> str: + """ + The ARN of the target Kafka cluster. + """ + return pulumi.get(self, "target_kafka_cluster_arn") + + @property + @pulumi.getter(name="topicReplications") + def topic_replications(self) -> Sequence['outputs.ReplicatorReplicationInfoListTopicReplication']: + """ + Configuration relating to topic replication. + """ + return pulumi.get(self, "topic_replications") + + @property + @pulumi.getter(name="sourceKafkaClusterAlias") + def source_kafka_cluster_alias(self) -> Optional[str]: + return pulumi.get(self, "source_kafka_cluster_alias") + + @property + @pulumi.getter(name="targetKafkaClusterAlias") + def target_kafka_cluster_alias(self) -> Optional[str]: + return pulumi.get(self, "target_kafka_cluster_alias") + + +@pulumi.output_type +class ReplicatorReplicationInfoListConsumerGroupReplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "consumerGroupsToReplicates": + suggest = "consumer_groups_to_replicates" + elif key == "consumerGroupsToExcludes": + suggest = "consumer_groups_to_excludes" + elif key == "detectAndCopyNewConsumerGroups": + suggest = "detect_and_copy_new_consumer_groups" + elif key == "synchroniseConsumerGroupOffsets": + suggest = "synchronise_consumer_group_offsets" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorReplicationInfoListConsumerGroupReplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorReplicationInfoListConsumerGroupReplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorReplicationInfoListConsumerGroupReplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + consumer_groups_to_replicates: Sequence[str], + consumer_groups_to_excludes: Optional[Sequence[str]] = None, + detect_and_copy_new_consumer_groups: Optional[bool] = None, + synchronise_consumer_group_offsets: Optional[bool] = None): + """ + :param Sequence[str] consumer_groups_to_replicates: List of regular expression patterns indicating the consumer groups to copy. + :param Sequence[str] consumer_groups_to_excludes: List of regular expression patterns indicating the consumer groups that should not be replicated. + :param bool detect_and_copy_new_consumer_groups: Whether to periodically check for new consumer groups. + :param bool synchronise_consumer_group_offsets: Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + """ + pulumi.set(__self__, "consumer_groups_to_replicates", consumer_groups_to_replicates) + if consumer_groups_to_excludes is not None: + pulumi.set(__self__, "consumer_groups_to_excludes", consumer_groups_to_excludes) + if detect_and_copy_new_consumer_groups is not None: + pulumi.set(__self__, "detect_and_copy_new_consumer_groups", detect_and_copy_new_consumer_groups) + if synchronise_consumer_group_offsets is not None: + pulumi.set(__self__, "synchronise_consumer_group_offsets", synchronise_consumer_group_offsets) + + @property + @pulumi.getter(name="consumerGroupsToReplicates") + def consumer_groups_to_replicates(self) -> Sequence[str]: + """ + List of regular expression patterns indicating the consumer groups to copy. + """ + return pulumi.get(self, "consumer_groups_to_replicates") + + @property + @pulumi.getter(name="consumerGroupsToExcludes") + def consumer_groups_to_excludes(self) -> Optional[Sequence[str]]: + """ + List of regular expression patterns indicating the consumer groups that should not be replicated. + """ + return pulumi.get(self, "consumer_groups_to_excludes") + + @property + @pulumi.getter(name="detectAndCopyNewConsumerGroups") + def detect_and_copy_new_consumer_groups(self) -> Optional[bool]: + """ + Whether to periodically check for new consumer groups. + """ + return pulumi.get(self, "detect_and_copy_new_consumer_groups") + + @property + @pulumi.getter(name="synchroniseConsumerGroupOffsets") + def synchronise_consumer_group_offsets(self) -> Optional[bool]: + """ + Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster. + """ + return pulumi.get(self, "synchronise_consumer_group_offsets") + + +@pulumi.output_type +class ReplicatorReplicationInfoListTopicReplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "topicsToReplicates": + suggest = "topics_to_replicates" + elif key == "copyAccessControlListsForTopics": + suggest = "copy_access_control_lists_for_topics" + elif key == "copyTopicConfigurations": + suggest = "copy_topic_configurations" + elif key == "detectAndCopyNewTopics": + suggest = "detect_and_copy_new_topics" + elif key == "topicsToExcludes": + suggest = "topics_to_excludes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicatorReplicationInfoListTopicReplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicatorReplicationInfoListTopicReplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicatorReplicationInfoListTopicReplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + topics_to_replicates: Sequence[str], + copy_access_control_lists_for_topics: Optional[bool] = None, + copy_topic_configurations: Optional[bool] = None, + detect_and_copy_new_topics: Optional[bool] = None, + topics_to_excludes: Optional[Sequence[str]] = None): + """ + :param Sequence[str] topics_to_replicates: List of regular expression patterns indicating the topics to copy. + :param bool copy_access_control_lists_for_topics: Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + :param bool copy_topic_configurations: Whether to periodically configure remote topics to match their corresponding upstream topics. + :param bool detect_and_copy_new_topics: Whether to periodically check for new topics and partitions. + :param Sequence[str] topics_to_excludes: List of regular expression patterns indicating the topics that should not be replica. + """ + pulumi.set(__self__, "topics_to_replicates", topics_to_replicates) + if copy_access_control_lists_for_topics is not None: + pulumi.set(__self__, "copy_access_control_lists_for_topics", copy_access_control_lists_for_topics) + if copy_topic_configurations is not None: + pulumi.set(__self__, "copy_topic_configurations", copy_topic_configurations) + if detect_and_copy_new_topics is not None: + pulumi.set(__self__, "detect_and_copy_new_topics", detect_and_copy_new_topics) + if topics_to_excludes is not None: + pulumi.set(__self__, "topics_to_excludes", topics_to_excludes) + + @property + @pulumi.getter(name="topicsToReplicates") + def topics_to_replicates(self) -> Sequence[str]: + """ + List of regular expression patterns indicating the topics to copy. + """ + return pulumi.get(self, "topics_to_replicates") + + @property + @pulumi.getter(name="copyAccessControlListsForTopics") + def copy_access_control_lists_for_topics(self) -> Optional[bool]: + """ + Whether to periodically configure remote topic ACLs to match their corresponding upstream topics. + """ + return pulumi.get(self, "copy_access_control_lists_for_topics") + + @property + @pulumi.getter(name="copyTopicConfigurations") + def copy_topic_configurations(self) -> Optional[bool]: + """ + Whether to periodically configure remote topics to match their corresponding upstream topics. + """ + return pulumi.get(self, "copy_topic_configurations") + + @property + @pulumi.getter(name="detectAndCopyNewTopics") + def detect_and_copy_new_topics(self) -> Optional[bool]: + """ + Whether to periodically check for new topics and partitions. + """ + return pulumi.get(self, "detect_and_copy_new_topics") + + @property + @pulumi.getter(name="topicsToExcludes") + def topics_to_excludes(self) -> Optional[Sequence[str]]: + """ + List of regular expression patterns indicating the topics that should not be replica. + """ + return pulumi.get(self, "topics_to_excludes") + + @pulumi.output_type class ServerlessClusterClientAuthentication(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/msk/replicator.py b/sdk/python/pulumi_aws/msk/replicator.py new file mode 100644 index 00000000000..3da2f73923f --- /dev/null +++ b/sdk/python/pulumi_aws/msk/replicator.py @@ -0,0 +1,472 @@ +# 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__ = ['ReplicatorArgs', 'Replicator'] + +@pulumi.input_type +class ReplicatorArgs: + def __init__(__self__, *, + kafka_clusters: pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]], + replication_info_list: pulumi.Input['ReplicatorReplicationInfoListArgs'], + replicator_name: pulumi.Input[str], + service_execution_role_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Replicator resource. + :param pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]] kafka_clusters: A list of Kafka clusters which are targets of the replicator. + :param pulumi.Input['ReplicatorReplicationInfoListArgs'] replication_info_list: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + :param pulumi.Input[str] replicator_name: The name of the replicator. + :param pulumi.Input[str] service_execution_role_arn: The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + :param pulumi.Input[str] description: A summary description of the replicator. + """ + pulumi.set(__self__, "kafka_clusters", kafka_clusters) + pulumi.set(__self__, "replication_info_list", replication_info_list) + pulumi.set(__self__, "replicator_name", replicator_name) + pulumi.set(__self__, "service_execution_role_arn", service_execution_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="kafkaClusters") + def kafka_clusters(self) -> pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]]: + """ + A list of Kafka clusters which are targets of the replicator. + """ + return pulumi.get(self, "kafka_clusters") + + @kafka_clusters.setter + def kafka_clusters(self, value: pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]]): + pulumi.set(self, "kafka_clusters", value) + + @property + @pulumi.getter(name="replicationInfoList") + def replication_info_list(self) -> pulumi.Input['ReplicatorReplicationInfoListArgs']: + """ + A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + """ + return pulumi.get(self, "replication_info_list") + + @replication_info_list.setter + def replication_info_list(self, value: pulumi.Input['ReplicatorReplicationInfoListArgs']): + pulumi.set(self, "replication_info_list", value) + + @property + @pulumi.getter(name="replicatorName") + def replicator_name(self) -> pulumi.Input[str]: + """ + The name of the replicator. + """ + return pulumi.get(self, "replicator_name") + + @replicator_name.setter + def replicator_name(self, value: pulumi.Input[str]): + pulumi.set(self, "replicator_name", value) + + @property + @pulumi.getter(name="serviceExecutionRoleArn") + def service_execution_role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + return pulumi.get(self, "service_execution_role_arn") + + @service_execution_role_arn.setter + def service_execution_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "service_execution_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A summary description of the replicator. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _ReplicatorState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + current_version: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_clusters: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]]] = None, + replication_info_list: Optional[pulumi.Input['ReplicatorReplicationInfoListArgs']] = None, + replicator_name: Optional[pulumi.Input[str]] = None, + service_execution_role_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering Replicator resources. + :param pulumi.Input[str] arn: ARN of the Replicator. 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 summary description of the replicator. + :param pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]] kafka_clusters: A list of Kafka clusters which are targets of the replicator. + :param pulumi.Input['ReplicatorReplicationInfoListArgs'] replication_info_list: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + :param pulumi.Input[str] replicator_name: The name of the replicator. + :param pulumi.Input[str] service_execution_role_arn: The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if current_version is not None: + pulumi.set(__self__, "current_version", current_version) + if description is not None: + pulumi.set(__self__, "description", description) + if kafka_clusters is not None: + pulumi.set(__self__, "kafka_clusters", kafka_clusters) + if replication_info_list is not None: + pulumi.set(__self__, "replication_info_list", replication_info_list) + if replicator_name is not None: + pulumi.set(__self__, "replicator_name", replicator_name) + if service_execution_role_arn is not None: + pulumi.set(__self__, "service_execution_role_arn", service_execution_role_arn) + 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 Replicator. 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="currentVersion") + def current_version(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "current_version") + + @current_version.setter + def current_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "current_version", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A summary description of the replicator. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="kafkaClusters") + def kafka_clusters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]]]: + """ + A list of Kafka clusters which are targets of the replicator. + """ + return pulumi.get(self, "kafka_clusters") + + @kafka_clusters.setter + def kafka_clusters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicatorKafkaClusterArgs']]]]): + pulumi.set(self, "kafka_clusters", value) + + @property + @pulumi.getter(name="replicationInfoList") + def replication_info_list(self) -> Optional[pulumi.Input['ReplicatorReplicationInfoListArgs']]: + """ + A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + """ + return pulumi.get(self, "replication_info_list") + + @replication_info_list.setter + def replication_info_list(self, value: Optional[pulumi.Input['ReplicatorReplicationInfoListArgs']]): + pulumi.set(self, "replication_info_list", value) + + @property + @pulumi.getter(name="replicatorName") + def replicator_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the replicator. + """ + return pulumi.get(self, "replicator_name") + + @replicator_name.setter + def replicator_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "replicator_name", value) + + @property + @pulumi.getter(name="serviceExecutionRoleArn") + def service_execution_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + return pulumi.get(self, "service_execution_role_arn") + + @service_execution_role_arn.setter + def service_execution_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_execution_role_arn", 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) + + +class Replicator(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_clusters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicatorKafkaClusterArgs']]]]] = None, + replication_info_list: Optional[pulumi.Input[pulumi.InputType['ReplicatorReplicationInfoListArgs']]] = None, + replicator_name: Optional[pulumi.Input[str]] = None, + service_execution_role_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS Managed Streaming for Kafka Replicator. + + ## Example Usage + + ## Import + + Using `pulumi import`, import MSK replicators using the replicator ARN. For example: + + ```sh + $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A summary description of the replicator. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicatorKafkaClusterArgs']]]] kafka_clusters: A list of Kafka clusters which are targets of the replicator. + :param pulumi.Input[pulumi.InputType['ReplicatorReplicationInfoListArgs']] replication_info_list: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + :param pulumi.Input[str] replicator_name: The name of the replicator. + :param pulumi.Input[str] service_execution_role_arn: The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ReplicatorArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Managed Streaming for Kafka Replicator. + + ## Example Usage + + ## Import + + Using `pulumi import`, import MSK replicators using the replicator ARN. For example: + + ```sh + $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 + ``` + + :param str resource_name: The name of the resource. + :param ReplicatorArgs 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(ReplicatorArgs, 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, + kafka_clusters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicatorKafkaClusterArgs']]]]] = None, + replication_info_list: Optional[pulumi.Input[pulumi.InputType['ReplicatorReplicationInfoListArgs']]] = None, + replicator_name: Optional[pulumi.Input[str]] = None, + service_execution_role_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ReplicatorArgs.__new__(ReplicatorArgs) + + __props__.__dict__["description"] = description + if kafka_clusters is None and not opts.urn: + raise TypeError("Missing required property 'kafka_clusters'") + __props__.__dict__["kafka_clusters"] = kafka_clusters + if replication_info_list is None and not opts.urn: + raise TypeError("Missing required property 'replication_info_list'") + __props__.__dict__["replication_info_list"] = replication_info_list + if replicator_name is None and not opts.urn: + raise TypeError("Missing required property 'replicator_name'") + __props__.__dict__["replicator_name"] = replicator_name + if service_execution_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'service_execution_role_arn'") + __props__.__dict__["service_execution_role_arn"] = service_execution_role_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["current_version"] = None + __props__.__dict__["tags_all"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["tagsAll"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Replicator, __self__).__init__( + 'aws:msk/replicator:Replicator', + 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, + current_version: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_clusters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicatorKafkaClusterArgs']]]]] = None, + replication_info_list: Optional[pulumi.Input[pulumi.InputType['ReplicatorReplicationInfoListArgs']]] = None, + replicator_name: Optional[pulumi.Input[str]] = None, + service_execution_role_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Replicator': + """ + Get an existing Replicator 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 Replicator. 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 summary description of the replicator. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicatorKafkaClusterArgs']]]] kafka_clusters: A list of Kafka clusters which are targets of the replicator. + :param pulumi.Input[pulumi.InputType['ReplicatorReplicationInfoListArgs']] replication_info_list: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + :param pulumi.Input[str] replicator_name: The name of the replicator. + :param pulumi.Input[str] service_execution_role_arn: The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ReplicatorState.__new__(_ReplicatorState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["current_version"] = current_version + __props__.__dict__["description"] = description + __props__.__dict__["kafka_clusters"] = kafka_clusters + __props__.__dict__["replication_info_list"] = replication_info_list + __props__.__dict__["replicator_name"] = replicator_name + __props__.__dict__["service_execution_role_arn"] = service_execution_role_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return Replicator(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Replicator. 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="currentVersion") + def current_version(self) -> pulumi.Output[str]: + return pulumi.get(self, "current_version") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A summary description of the replicator. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="kafkaClusters") + def kafka_clusters(self) -> pulumi.Output[Sequence['outputs.ReplicatorKafkaCluster']]: + """ + A list of Kafka clusters which are targets of the replicator. + """ + return pulumi.get(self, "kafka_clusters") + + @property + @pulumi.getter(name="replicationInfoList") + def replication_info_list(self) -> pulumi.Output['outputs.ReplicatorReplicationInfoList']: + """ + A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow. + """ + return pulumi.get(self, "replication_info_list") + + @property + @pulumi.getter(name="replicatorName") + def replicator_name(self) -> pulumi.Output[str]: + """ + The name of the replicator. + """ + return pulumi.get(self, "replicator_name") + + @property + @pulumi.getter(name="serviceExecutionRoleArn") + def service_execution_role_arn(self) -> pulumi.Output[str]: + """ + The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters). + """ + return pulumi.get(self, "service_execution_role_arn") + + @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") + diff --git a/sdk/python/pulumi_aws/neptune/cluster.py b/sdk/python/pulumi_aws/neptune/cluster.py index fe49cdc9b69..94d59f5e41d 100644 --- a/sdk/python/pulumi_aws/neptune/cluster.py +++ b/sdk/python/pulumi_aws/neptune/cluster.py @@ -55,7 +55,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cluster_identifier_prefix: Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`. :param pulumi.Input[bool] copy_tags_to_snapshot: If set to true, tags are copied to any snapshot of the DB cluster that is created. :param pulumi.Input[bool] deletion_protection: A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. - :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. :param pulumi.Input[str] engine: The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. :param pulumi.Input[str] engine_version: The database engine version. :param pulumi.Input[str] final_snapshot_identifier: The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. @@ -236,7 +236,7 @@ def deletion_protection(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="enableCloudwatchLogsExports") def enable_cloudwatch_logs_exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. """ return pulumi.get(self, "enable_cloudwatch_logs_exports") @@ -537,7 +537,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cluster_resource_id: The Neptune Cluster Resource ID :param pulumi.Input[bool] copy_tags_to_snapshot: If set to true, tags are copied to any snapshot of the DB cluster that is created. :param pulumi.Input[bool] deletion_protection: A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. - :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. :param pulumi.Input[str] endpoint: The DNS address of the Neptune instance :param pulumi.Input[str] engine: The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. :param pulumi.Input[str] engine_version: The database engine version. @@ -775,7 +775,7 @@ def deletion_protection(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="enableCloudwatchLogsExports") def enable_cloudwatch_logs_exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. """ return pulumi.get(self, "enable_cloudwatch_logs_exports") @@ -1158,7 +1158,7 @@ def __init__(__self__, :param pulumi.Input[str] cluster_identifier_prefix: Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`. :param pulumi.Input[bool] copy_tags_to_snapshot: If set to true, tags are copied to any snapshot of the DB cluster that is created. :param pulumi.Input[bool] deletion_protection: A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. - :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. :param pulumi.Input[str] engine: The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. :param pulumi.Input[str] engine_version: The database engine version. :param pulumi.Input[str] final_snapshot_identifier: The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. @@ -1379,7 +1379,7 @@ def get(resource_name: str, :param pulumi.Input[str] cluster_resource_id: The Neptune Cluster Resource ID :param pulumi.Input[bool] copy_tags_to_snapshot: If set to true, tags are copied to any snapshot of the DB cluster that is created. :param pulumi.Input[bool] deletion_protection: A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. - :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] enable_cloudwatch_logs_exports: A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. :param pulumi.Input[str] endpoint: The DNS address of the Neptune instance :param pulumi.Input[str] engine: The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. :param pulumi.Input[str] engine_version: The database engine version. @@ -1539,7 +1539,7 @@ def deletion_protection(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="enableCloudwatchLogsExports") def enable_cloudwatch_logs_exports(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit`. + A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. """ return pulumi.get(self, "enable_cloudwatch_logs_exports") diff --git a/sdk/python/pulumi_aws/neptune/cluster_instance.py b/sdk/python/pulumi_aws/neptune/cluster_instance.py index 43543a25a91..52abdce384a 100644 --- a/sdk/python/pulumi_aws/neptune/cluster_instance.py +++ b/sdk/python/pulumi_aws/neptune/cluster_instance.py @@ -40,7 +40,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] auto_minor_version_upgrade: Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. :param pulumi.Input[str] availability_zone: The EC2 Availability Zone that the neptune instance is created in. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. - :param pulumi.Input[str] engine_version: The neptune engine version. + :param pulumi.Input[str] engine_version: The neptune engine version. Currently configuring this argumnet has no effect. :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] neptune_parameter_group_name: The name of the neptune parameter group to associate with this instance. @@ -163,7 +163,7 @@ def engine(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: """ - The neptune engine version. + The neptune engine version. Currently configuring this argumnet has no effect. """ return pulumi.get(self, "engine_version") @@ -333,7 +333,7 @@ def __init__(__self__, *, :param pulumi.Input[str] dbi_resource_id: The region-unique, immutable identifier for the neptune instance. :param pulumi.Input[str] endpoint: The connection endpoint in `address:port` format. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. - :param pulumi.Input[str] engine_version: The neptune engine version. + :param pulumi.Input[str] engine_version: The neptune engine version. Currently configuring this argumnet has no effect. :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. @@ -518,7 +518,7 @@ def engine(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: """ - The neptune engine version. + The neptune engine version. Currently configuring this argumnet has no effect. """ return pulumi.get(self, "engine_version") @@ -781,7 +781,7 @@ def __init__(__self__, :param pulumi.Input[str] availability_zone: The EC2 Availability Zone that the neptune instance is created in. :param pulumi.Input[str] cluster_identifier: The identifier of the `neptune.Cluster` in which to launch this instance. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. - :param pulumi.Input[str] engine_version: The neptune engine version. + :param pulumi.Input[str] engine_version: The neptune engine version. Currently configuring this argumnet has no effect. :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. @@ -964,7 +964,7 @@ def get(resource_name: str, :param pulumi.Input[str] dbi_resource_id: The region-unique, immutable identifier for the neptune instance. :param pulumi.Input[str] endpoint: The connection endpoint in `address:port` format. :param pulumi.Input[str] engine: The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. - :param pulumi.Input[str] engine_version: The neptune engine version. + :param pulumi.Input[str] engine_version: The neptune engine version. Currently configuring this argumnet has no effect. :param pulumi.Input[str] identifier: The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[str] instance_class: The instance class to use. @@ -1090,7 +1090,7 @@ def engine(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="engineVersion") def engine_version(self) -> pulumi.Output[str]: """ - The neptune engine version. + The neptune engine version. Currently configuring this argumnet has no effect. """ return pulumi.get(self, "engine_version") diff --git a/sdk/python/pulumi_aws/opensearch/domain_policy.py b/sdk/python/pulumi_aws/opensearch/domain_policy.py index 0b733d50eb8..46476921b88 100644 --- a/sdk/python/pulumi_aws/opensearch/domain_policy.py +++ b/sdk/python/pulumi_aws/opensearch/domain_policy.py @@ -100,6 +100,32 @@ def __init__(__self__, """ Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.opensearch.Domain("example", engine_version="OpenSearch_1.1") + main_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="*", + identifiers=["*"], + )], + actions=["es:*"], + resources=[example.arn.apply(lambda arn: f"{arn}/*")], + conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs( + test="IpAddress", + variable="aws:SourceIp", + values=["127.0.0.1/32"], + )], + )]) + main_domain_policy = aws.opensearch.DomainPolicy("mainDomainPolicy", + domain_name=example.domain_name, + access_policies=main_policy_document.json) + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] access_policies: IAM policy document specifying the access policies for the domain @@ -114,6 +140,32 @@ def __init__(__self__, """ Allows setting policy to an OpenSearch domain while referencing domain attributes (e.g., ARN). + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.opensearch.Domain("example", engine_version="OpenSearch_1.1") + main_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( + effect="Allow", + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + type="*", + identifiers=["*"], + )], + actions=["es:*"], + resources=[example.arn.apply(lambda arn: f"{arn}/*")], + conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs( + test="IpAddress", + variable="aws:SourceIp", + values=["127.0.0.1/32"], + )], + )]) + main_domain_policy = aws.opensearch.DomainPolicy("mainDomainPolicy", + domain_name=example.domain_name, + access_policies=main_policy_document.json) + ``` + :param str resource_name: The name of the resource. :param DomainPolicyArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_aws/pinpoint/app.py b/sdk/python/pulumi_aws/pinpoint/app.py index 1d221ee25bc..f872231c3b9 100644 --- a/sdk/python/pulumi_aws/pinpoint/app.py +++ b/sdk/python/pulumi_aws/pinpoint/app.py @@ -490,7 +490,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ The name of the Pinpoint application. Conflicts with `name` """ diff --git a/sdk/python/pulumi_aws/rds/cluster.py b/sdk/python/pulumi_aws/rds/cluster.py index a1ba00a6546..695e8ff8658 100644 --- a/sdk/python/pulumi_aws/rds/cluster.py +++ b/sdk/python/pulumi_aws/rds/cluster.py @@ -69,10 +69,13 @@ def __init__(__self__, *, """ The set of arguments for constructing a Cluster resource. :param pulumi.Input[Union[str, 'EngineType']] engine: Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). - :param pulumi.Input[int] allocated_storage: (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + :param pulumi.Input[int] allocated_storage: The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. :param pulumi.Input[bool] allow_major_version_upgrade: Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. :param pulumi.Input[bool] apply_immediately: Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) - :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. :param pulumi.Input[int] backtrack_window: Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) :param pulumi.Input[int] backup_retention_period: Days to retain backups for. Default `1` :param pulumi.Input[str] cluster_identifier: The cluster identifier. If omitted, this provider will assign a random, unique identifier. @@ -80,12 +83,15 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_members: List of RDS Instances that are a part of this cluster :param pulumi.Input[bool] copy_tags_to_snapshot: Copy all Cluster `tags` to snapshots. Default is `false`. :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) - :param pulumi.Input[str] db_cluster_instance_class: (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + :param pulumi.Input[str] db_cluster_instance_class: The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. :param pulumi.Input[str] db_cluster_parameter_group_name: A cluster parameter group to associate with the cluster. :param pulumi.Input[str] db_instance_parameter_group_name: Instance parameter group to associate with all instances of the DB cluster. The `db_instance_parameter_group_name` parameter is only valid in combination with the `allow_major_version_upgrade` parameter. - :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. :param pulumi.Input[str] db_system_id: For use with RDS Custom. - :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[bool] deletion_protection: If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. :param pulumi.Input[bool] enable_global_write_forwarding: Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. :param pulumi.Input[bool] enable_http_endpoint: Enable HTTP endpoint (data API). Only valid when `engine_mode` is set to `serverless`. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cloudwatch_logs_exports: Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). @@ -113,7 +119,7 @@ def __init__(__self__, *, :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `global_cluster_identifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. :param pulumi.Input[str] source_region: The source region for an encrypted replica DB cluster. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. - :param pulumi.Input[str] storage_type: (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + :param pulumi.Input[str] storage_type: (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to associate with the Cluster """ @@ -231,7 +237,7 @@ def engine(self, value: pulumi.Input[Union[str, 'EngineType']]): @pulumi.getter(name="allocatedStorage") def allocated_storage(self) -> Optional[pulumi.Input[int]]: """ - (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. """ return pulumi.get(self, "allocated_storage") @@ -267,7 +273,10 @@ def apply_immediately(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="availabilityZones") def availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. """ return pulumi.get(self, "availability_zones") @@ -363,7 +372,7 @@ def database_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbClusterInstanceClass") def db_cluster_instance_class(self) -> Optional[pulumi.Input[str]]: """ - (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. """ return pulumi.get(self, "db_cluster_instance_class") @@ -399,7 +408,8 @@ def db_instance_parameter_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. """ return pulumi.get(self, "db_subnet_group_name") @@ -423,7 +433,9 @@ def db_system_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deletionProtection") def deletion_protection(self) -> Optional[pulumi.Input[bool]]: """ - 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`. + If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. """ return pulumi.get(self, "deletion_protection") @@ -768,7 +780,7 @@ def storage_encrypted(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[str]]: """ - (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). """ return pulumi.get(self, "storage_type") @@ -863,11 +875,14 @@ def __init__(__self__, *, vpc_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Cluster resources. - :param pulumi.Input[int] allocated_storage: (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + :param pulumi.Input[int] allocated_storage: The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. :param pulumi.Input[bool] allow_major_version_upgrade: Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. :param pulumi.Input[bool] apply_immediately: Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of cluster - :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. :param pulumi.Input[int] backtrack_window: Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) :param pulumi.Input[int] backup_retention_period: Days to retain backups for. Default `1` :param pulumi.Input[str] cluster_identifier: The cluster identifier. If omitted, this provider will assign a random, unique identifier. @@ -876,12 +891,15 @@ def __init__(__self__, *, :param pulumi.Input[str] cluster_resource_id: RDS Cluster Resource ID :param pulumi.Input[bool] copy_tags_to_snapshot: Copy all Cluster `tags` to snapshots. Default is `false`. :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) - :param pulumi.Input[str] db_cluster_instance_class: (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + :param pulumi.Input[str] db_cluster_instance_class: The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. :param pulumi.Input[str] db_cluster_parameter_group_name: A cluster parameter group to associate with the cluster. :param pulumi.Input[str] db_instance_parameter_group_name: Instance parameter group to associate with all instances of the DB cluster. The `db_instance_parameter_group_name` parameter is only valid in combination with the `allow_major_version_upgrade` parameter. - :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. :param pulumi.Input[str] db_system_id: For use with RDS Custom. - :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[bool] deletion_protection: If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. :param pulumi.Input[bool] enable_global_write_forwarding: Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. :param pulumi.Input[bool] enable_http_endpoint: Enable HTTP endpoint (data API). Only valid when `engine_mode` is set to `serverless`. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cloudwatch_logs_exports: Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). @@ -916,7 +934,7 @@ def __init__(__self__, *, :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `global_cluster_identifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. :param pulumi.Input[str] source_region: The source region for an encrypted replica DB cluster. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. - :param pulumi.Input[str] storage_type: (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + :param pulumi.Input[str] storage_type: (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to associate with the Cluster @@ -1043,7 +1061,7 @@ def __init__(__self__, *, @pulumi.getter(name="allocatedStorage") def allocated_storage(self) -> Optional[pulumi.Input[int]]: """ - (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. """ return pulumi.get(self, "allocated_storage") @@ -1091,7 +1109,10 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="availabilityZones") def availability_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. """ return pulumi.get(self, "availability_zones") @@ -1199,7 +1220,7 @@ def database_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbClusterInstanceClass") def db_cluster_instance_class(self) -> Optional[pulumi.Input[str]]: """ - (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. """ return pulumi.get(self, "db_cluster_instance_class") @@ -1235,7 +1256,8 @@ def db_instance_parameter_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. """ return pulumi.get(self, "db_subnet_group_name") @@ -1259,7 +1281,9 @@ def db_system_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deletionProtection") def deletion_protection(self) -> Optional[pulumi.Input[bool]]: """ - 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`. + If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. """ return pulumi.get(self, "deletion_protection") @@ -1677,7 +1701,7 @@ def storage_encrypted(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="storageType") def storage_type(self) -> Optional[pulumi.Input[str]]: """ - (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). """ return pulumi.get(self, "storage_type") @@ -1991,10 +2015,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[int] allocated_storage: (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + :param pulumi.Input[int] allocated_storage: The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. :param pulumi.Input[bool] allow_major_version_upgrade: Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. :param pulumi.Input[bool] apply_immediately: Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) - :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. :param pulumi.Input[int] backtrack_window: Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) :param pulumi.Input[int] backup_retention_period: Days to retain backups for. Default `1` :param pulumi.Input[str] cluster_identifier: The cluster identifier. If omitted, this provider will assign a random, unique identifier. @@ -2002,12 +2029,15 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_members: List of RDS Instances that are a part of this cluster :param pulumi.Input[bool] copy_tags_to_snapshot: Copy all Cluster `tags` to snapshots. Default is `false`. :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) - :param pulumi.Input[str] db_cluster_instance_class: (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + :param pulumi.Input[str] db_cluster_instance_class: The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. :param pulumi.Input[str] db_cluster_parameter_group_name: A cluster parameter group to associate with the cluster. :param pulumi.Input[str] db_instance_parameter_group_name: Instance parameter group to associate with all instances of the DB cluster. The `db_instance_parameter_group_name` parameter is only valid in combination with the `allow_major_version_upgrade` parameter. - :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. :param pulumi.Input[str] db_system_id: For use with RDS Custom. - :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[bool] deletion_protection: If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. :param pulumi.Input[bool] enable_global_write_forwarding: Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. :param pulumi.Input[bool] enable_http_endpoint: Enable HTTP endpoint (data API). Only valid when `engine_mode` is set to `serverless`. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cloudwatch_logs_exports: Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). @@ -2036,7 +2066,7 @@ def __init__(__self__, :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `global_cluster_identifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. :param pulumi.Input[str] source_region: The source region for an encrypted replica DB cluster. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. - :param pulumi.Input[str] storage_type: (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + :param pulumi.Input[str] storage_type: (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to associate with the Cluster """ @@ -2463,11 +2493,14 @@ 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[int] allocated_storage: (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + :param pulumi.Input[int] allocated_storage: The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. :param pulumi.Input[bool] allow_major_version_upgrade: Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. :param pulumi.Input[bool] apply_immediately: Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of cluster - :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + :param pulumi.Input[Sequence[pulumi.Input[str]]] availability_zones: List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. :param pulumi.Input[int] backtrack_window: Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) :param pulumi.Input[int] backup_retention_period: Days to retain backups for. Default `1` :param pulumi.Input[str] cluster_identifier: The cluster identifier. If omitted, this provider will assign a random, unique identifier. @@ -2476,12 +2509,15 @@ def get(resource_name: str, :param pulumi.Input[str] cluster_resource_id: RDS Cluster Resource ID :param pulumi.Input[bool] copy_tags_to_snapshot: Copy all Cluster `tags` to snapshots. Default is `false`. :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) - :param pulumi.Input[str] db_cluster_instance_class: (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + :param pulumi.Input[str] db_cluster_instance_class: The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. :param pulumi.Input[str] db_cluster_parameter_group_name: A cluster parameter group to associate with the cluster. :param pulumi.Input[str] db_instance_parameter_group_name: Instance parameter group to associate with all instances of the DB cluster. The `db_instance_parameter_group_name` parameter is only valid in combination with the `allow_major_version_upgrade` parameter. - :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + :param pulumi.Input[str] db_subnet_group_name: DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. :param pulumi.Input[str] db_system_id: For use with RDS Custom. - :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[bool] deletion_protection: If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. :param pulumi.Input[bool] enable_global_write_forwarding: Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [Aurora Userguide documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. :param pulumi.Input[bool] enable_http_endpoint: Enable HTTP endpoint (data API). Only valid when `engine_mode` is set to `serverless`. :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_cloudwatch_logs_exports: Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). @@ -2516,7 +2552,7 @@ def get(resource_name: str, :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `global_cluster_identifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. :param pulumi.Input[str] source_region: The source region for an encrypted replica DB cluster. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engine_mode` and `true` for `serverless` `engine_mode`. When restoring an unencrypted `snapshot_identifier`, the `kms_key_id` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. - :param pulumi.Input[str] storage_type: (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + :param pulumi.Input[str] storage_type: (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to associate with the Cluster @@ -2588,7 +2624,7 @@ def get(resource_name: str, @pulumi.getter(name="allocatedStorage") def allocated_storage(self) -> pulumi.Output[int]: """ - (Required for Multi-AZ DB cluster) The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. + The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. """ return pulumi.get(self, "allocated_storage") @@ -2620,7 +2656,10 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="availabilityZones") def availability_zones(self) -> pulumi.Output[Sequence[str]]: """ - List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. A maximum of 3 AZs can be configured. + List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. + RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. + We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary. + A maximum of 3 AZs can be configured. """ return pulumi.get(self, "availability_zones") @@ -2692,7 +2731,7 @@ def database_name(self) -> pulumi.Output[str]: @pulumi.getter(name="dbClusterInstanceClass") def db_cluster_instance_class(self) -> pulumi.Output[Optional[str]]: """ - (Required for Multi-AZ DB cluster) The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. + The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. """ return pulumi.get(self, "db_cluster_instance_class") @@ -2716,7 +2755,8 @@ def db_instance_parameter_group_name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> pulumi.Output[str]: """ - DB subnet group to associate with this DB instance. **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. + DB subnet group to associate with this DB cluster. + **NOTE:** This must match the `db_subnet_group_name` specified on every `rds.ClusterInstance` in the cluster. """ return pulumi.get(self, "db_subnet_group_name") @@ -2732,7 +2772,9 @@ def db_system_id(self) -> pulumi.Output[str]: @pulumi.getter(name="deletionProtection") def deletion_protection(self) -> pulumi.Output[Optional[bool]]: """ - 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`. + If the DB cluster should have deletion protection enabled. + The database can't be deleted when this value is set to `true`. + The default is `false`. """ return pulumi.get(self, "deletion_protection") @@ -3010,7 +3052,7 @@ def storage_encrypted(self) -> pulumi.Output[bool]: @pulumi.getter(name="storageType") def storage_type(self) -> pulumi.Output[str]: """ - (Required for Multi-AZ DB clusters) (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). + (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storage_type` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). """ return pulumi.get(self, "storage_type") diff --git a/sdk/python/pulumi_aws/rds/instance.py b/sdk/python/pulumi_aws/rds/instance.py index 5163eec71e3..582027b6f60 100644 --- a/sdk/python/pulumi_aws/rds/instance.py +++ b/sdk/python/pulumi_aws/rds/instance.py @@ -104,7 +104,7 @@ def __init__(__self__, *, :param pulumi.Input[str] backup_window: The daily time range (in UTC) during which automated backups are created if they are enabled. Example: "09:46-10:16". Must not overlap with `maintenance_window`. :param pulumi.Input['InstanceBlueGreenUpdateArgs'] blue_green_update: Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. :param pulumi.Input[str] ca_cert_identifier: The identifier of the CA certificate for the DB instance. :param pulumi.Input[str] character_set_name: The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets @@ -145,8 +145,12 @@ def __init__(__self__, *, See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. - :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + :param pulumi.Input[str] license_model: License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS Maintenance Window @@ -474,7 +478,7 @@ def backup_window(self, value: Optional[pulumi.Input[str]]): def blue_green_update(self) -> Optional[pulumi.Input['InstanceBlueGreenUpdateArgs']]: """ Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. """ return pulumi.get(self, "blue_green_update") @@ -746,8 +750,12 @@ def kms_key_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="licenseModel") def license_model(self) -> Optional[pulumi.Input[str]]: """ - (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` """ return pulumi.get(self, "license_model") @@ -1274,7 +1282,7 @@ def __init__(__self__, *, :param pulumi.Input[str] backup_window: The daily time range (in UTC) during which automated backups are created if they are enabled. Example: "09:46-10:16". Must not overlap with `maintenance_window`. :param pulumi.Input['InstanceBlueGreenUpdateArgs'] blue_green_update: Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. :param pulumi.Input[str] ca_cert_identifier: The identifier of the CA certificate for the DB instance. :param pulumi.Input[str] character_set_name: The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets @@ -1320,8 +1328,12 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. :param pulumi.Input[str] latest_restorable_time: The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. - :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + :param pulumi.Input[str] license_model: License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` :param pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]] listener_endpoints: Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -1694,7 +1706,7 @@ def backup_window(self, value: Optional[pulumi.Input[str]]): def blue_green_update(self) -> Optional[pulumi.Input['InstanceBlueGreenUpdateArgs']]: """ Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. """ return pulumi.get(self, "blue_green_update") @@ -2026,8 +2038,12 @@ def latest_restorable_time(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="licenseModel") def license_model(self) -> Optional[pulumi.Input[str]]: """ - (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` """ return pulumi.get(self, "license_model") @@ -2733,7 +2749,7 @@ def __init__(__self__, :param pulumi.Input[str] backup_window: The daily time range (in UTC) during which automated backups are created if they are enabled. Example: "09:46-10:16". Must not overlap with `maintenance_window`. :param pulumi.Input[pulumi.InputType['InstanceBlueGreenUpdateArgs']] blue_green_update: Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. :param pulumi.Input[str] ca_cert_identifier: The identifier of the CA certificate for the DB instance. :param pulumi.Input[str] character_set_name: The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets @@ -2775,8 +2791,12 @@ def __init__(__self__, See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. - :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + :param pulumi.Input[str] license_model: License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS Maintenance Window @@ -3254,7 +3274,7 @@ def get(resource_name: str, :param pulumi.Input[str] backup_window: The daily time range (in UTC) during which automated backups are created if they are enabled. Example: "09:46-10:16". Must not overlap with `maintenance_window`. :param pulumi.Input[pulumi.InputType['InstanceBlueGreenUpdateArgs']] blue_green_update: Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. :param pulumi.Input[str] ca_cert_identifier: The identifier of the CA certificate for the DB instance. :param pulumi.Input[str] character_set_name: The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See [Oracle Character Sets @@ -3300,8 +3320,12 @@ def get(resource_name: str, :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. :param pulumi.Input[str] latest_restorable_time: The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. - :param pulumi.Input[str] license_model: (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + :param pulumi.Input[str] license_model: License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceListenerEndpointArgs']]]] listener_endpoints: Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. :param pulumi.Input[str] maintenance_window: The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS @@ -3559,7 +3583,7 @@ def backup_window(self) -> pulumi.Output[str]: def blue_green_update(self) -> pulumi.Output[Optional['outputs.InstanceBlueGreenUpdate']]: """ Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. - See blue_green_update below + See `blue_green_update` below. """ return pulumi.get(self, "blue_green_update") @@ -3787,8 +3811,12 @@ def latest_restorable_time(self) -> pulumi.Output[str]: @pulumi.getter(name="licenseModel") def license_model(self) -> pulumi.Output[str]: """ - (Optional, but required for some DB engines, i.e., Oracle - SE1) License model information for this DB instance. + License model information for this DB instance. Valid values for this field are as follows: + * RDS for MariaDB: `general-public-license` + * RDS for Microsoft SQL Server: `license-included` + * RDS for MySQL: `general-public-license` + * RDS for Oracle: `bring-your-own-license | license-included` + * RDS for PostgreSQL: `postgresql-license` """ return pulumi.get(self, "license_model") diff --git a/sdk/python/pulumi_aws/signer/signing_profile.py b/sdk/python/pulumi_aws/signer/signing_profile.py index a1361799de6..631a1417a2f 100644 --- a/sdk/python/pulumi_aws/signer/signing_profile.py +++ b/sdk/python/pulumi_aws/signer/signing_profile.py @@ -545,7 +545,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ A signing profile name prefix. The provider will generate a unique suffix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/signer/signing_profile_permission.py b/sdk/python/pulumi_aws/signer/signing_profile_permission.py index fedde00e743..ad81bbdbe37 100644 --- a/sdk/python/pulumi_aws/signer/signing_profile_permission.py +++ b/sdk/python/pulumi_aws/signer/signing_profile_permission.py @@ -22,7 +22,7 @@ def __init__(__self__, *, statement_id_prefix: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a SigningProfilePermission resource. - :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. :param pulumi.Input[str] principal: The AWS principal to be granted a cross-account permission. :param pulumi.Input[str] profile_name: Name of the signing profile to add the cross-account permissions. :param pulumi.Input[str] profile_version: The signing profile version that a permission applies to. @@ -43,7 +43,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> pulumi.Input[str]: """ - An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. """ return pulumi.get(self, "action") @@ -123,7 +123,7 @@ def __init__(__self__, *, statement_id_prefix: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering SigningProfilePermission resources. - :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. :param pulumi.Input[str] principal: The AWS principal to be granted a cross-account permission. :param pulumi.Input[str] profile_name: Name of the signing profile to add the cross-account permissions. :param pulumi.Input[str] profile_version: The signing profile version that a permission applies to. @@ -147,7 +147,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> Optional[pulumi.Input[str]]: """ - An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. """ return pulumi.get(self, "action") @@ -275,7 +275,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] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. :param pulumi.Input[str] principal: The AWS principal to be granted a cross-account permission. :param pulumi.Input[str] profile_name: Name of the signing profile to add the cross-account permissions. :param pulumi.Input[str] profile_version: The signing profile version that a permission applies to. @@ -398,7 +398,7 @@ 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] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + :param pulumi.Input[str] action: An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. :param pulumi.Input[str] principal: The AWS principal to be granted a cross-account permission. :param pulumi.Input[str] profile_name: Name of the signing profile to add the cross-account permissions. :param pulumi.Input[str] profile_version: The signing profile version that a permission applies to. @@ -421,7 +421,7 @@ def get(resource_name: str, @pulumi.getter def action(self) -> pulumi.Output[str]: """ - An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, or `signer:RevokeSignature`. + An AWS Signer action permitted as part of cross-account permissions. Valid values: `signer:StartSigningJob`, `signer:GetSigningProfile`, `signer:RevokeSignature`, or `signer:SignPayload`. """ return pulumi.get(self, "action") @@ -459,7 +459,7 @@ def statement_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="statementIdPrefix") - def statement_id_prefix(self) -> pulumi.Output[Optional[str]]: + def statement_id_prefix(self) -> pulumi.Output[str]: """ A statement identifier prefix. The provider will generate a unique suffix. Conflicts with `statement_id`. """ diff --git a/sdk/python/pulumi_aws/wafv2/_inputs.py b/sdk/python/pulumi_aws/wafv2/_inputs.py index 7a354bfa831..fafb37aa976 100644 --- a/sdk/python/pulumi_aws/wafv2/_inputs.py +++ b/sdk/python/pulumi_aws/wafv2/_inputs.py @@ -44,6 +44,7 @@ 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -89,6 +90,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -115,6 +117,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -134,6 +137,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -153,6 +157,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -172,6 +177,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -191,6 +197,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -210,6 +217,7 @@ 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -229,6 +237,7 @@ 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -248,6 +257,7 @@ 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -267,6 +277,7 @@ 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -286,6 +297,7 @@ 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArgs', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -355,6 +367,7 @@ 'WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -422,6 +435,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -448,6 +462,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -467,6 +482,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -486,6 +502,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -505,6 +522,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -524,6 +542,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -564,6 +583,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -590,6 +610,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -609,6 +630,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -628,6 +650,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -647,6 +670,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -666,6 +690,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -685,6 +710,7 @@ 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -704,6 +730,7 @@ 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -741,6 +768,7 @@ 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -760,6 +788,7 @@ 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -779,6 +808,7 @@ 'WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs', 'WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternArgs', 'WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAllArgs', + 'WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternArgs', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAllArgs', @@ -1893,6 +1923,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -1919,6 +1950,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -1980,6 +2013,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs']]: @@ -2300,6 +2342,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -3729,6 +3793,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -3755,6 +3820,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -3816,6 +3883,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']]: @@ -4136,6 +4212,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -4655,6 +4753,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -4681,6 +4780,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -4742,6 +4843,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']]: @@ -5062,6 +5172,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -5335,6 +5467,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs']] = None, @@ -5361,6 +5494,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -5422,6 +5557,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']]: @@ -5742,6 +5886,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -6030,6 +6196,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs']] = None, @@ -6056,6 +6223,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -6117,6 +6286,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']]: @@ -6437,6 +6615,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -6695,6 +6895,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -6721,6 +6922,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -6782,6 +6985,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']]: @@ -7102,6 +7314,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -7360,6 +7594,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -7386,6 +7621,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -7447,6 +7684,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']]: @@ -7767,6 +8013,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -8040,6 +8308,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -8066,6 +8335,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -8127,6 +8398,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs']]: @@ -8447,6 +8727,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -8720,6 +9022,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs']] = None, @@ -8746,6 +9049,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -8807,6 +9112,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']]: @@ -9127,6 +9441,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -9415,6 +9751,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs']] = None, @@ -9441,6 +9778,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -9502,6 +9841,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']]: @@ -9822,6 +10170,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -10080,6 +10450,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -10106,6 +10477,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -10167,6 +10540,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs']]: @@ -10487,6 +10869,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -10745,6 +11149,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -10771,6 +11176,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -10832,6 +11239,15 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleS def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]: + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs']]: @@ -11152,6 +11568,28 @@ def __init__(__self__): pass +@pulumi.input_type +class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -13272,6 +13710,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -13283,6 +13722,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -13298,6 +13738,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -13359,6 +13801,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs']]: @@ -13679,6 +14133,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -16118,6 +16594,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -16129,6 +16606,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -16144,6 +16622,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -16205,6 +16685,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']]: @@ -16525,6 +17017,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -17040,6 +17554,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -17051,6 +17566,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -17066,6 +17582,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -17127,6 +17645,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']]: @@ -17447,6 +17977,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -17716,6 +18268,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs']] = None, @@ -17727,6 +18280,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -17742,6 +18296,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -17803,6 +18359,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']]: @@ -18123,6 +18691,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -18407,6 +18997,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs']] = None, @@ -18418,6 +19009,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -18433,6 +19025,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -18494,6 +19088,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']]: @@ -18814,6 +19420,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -19068,6 +19696,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -19079,6 +19708,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -19094,6 +19724,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -19155,6 +19787,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']]: @@ -19475,6 +20119,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -19729,6 +20395,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -19740,6 +20407,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -19755,6 +20423,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -19816,6 +20486,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']]: @@ -20136,6 +20818,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -21339,6 +22043,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -21350,6 +22055,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -21365,6 +22071,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -21426,6 +22134,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs']]: @@ -21746,6 +22466,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -22261,6 +23003,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -22272,6 +23015,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -22287,6 +23031,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -22348,6 +23094,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs']]: @@ -22668,6 +23426,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -22937,6 +23717,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs']] = None, @@ -22948,6 +23729,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -22963,6 +23745,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -23024,6 +23808,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']]: @@ -23344,6 +24140,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -23628,6 +24446,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs']] = None, @@ -23639,6 +24458,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -23654,6 +24474,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -23715,6 +24537,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']]: @@ -24035,6 +24869,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -24289,6 +25145,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -24300,6 +25157,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -24315,6 +25173,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -24376,6 +25236,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs']]: @@ -24696,6 +25568,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -24950,6 +25844,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -24961,6 +25856,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -24976,6 +25872,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -25037,6 +25935,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs']]: @@ -25357,6 +26267,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -25626,6 +26558,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -25637,6 +26570,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -25652,6 +26586,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -25713,6 +26649,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs']]: @@ -26033,6 +26981,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -26302,6 +27272,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs']] = None, @@ -26313,6 +27284,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -26328,6 +27300,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -26389,6 +27363,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs']]: @@ -26709,6 +27695,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -27597,6 +28605,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs']] = None, @@ -27608,6 +28617,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -27623,6 +28633,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -27684,6 +28696,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs']]: @@ -28004,6 +29028,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -28258,6 +29304,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -28269,6 +29316,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -28284,6 +29332,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -28345,6 +29395,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs']]: @@ -28665,6 +29727,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, @@ -28919,6 +30003,7 @@ def __init__(__self__, *, body: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchBodyArgs']] = None, cookies: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchCookiesArgs']] = None, headers: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs']]]] = None, + ja3_fingerprint: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']] = None, json_body: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs']] = None, method: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchMethodArgs']] = None, query_string: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchQueryStringArgs']] = None, @@ -28930,6 +30015,7 @@ def __init__(__self__, *, :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchBodyArgs'] body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchCookiesArgs'] cookies: Inspect the cookies in the web request. See `cookies` below for details. :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs']]] headers: Inspect the request headers. See `headers` below for details. + :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs'] ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs'] json_body: Inspect the request body as JSON. See `json_body` for details. :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchMethodArgs'] method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchQueryStringArgs'] query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -28945,6 +30031,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -29006,6 +30094,18 @@ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStat def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs']]]]): pulumi.set(self, "headers", value) + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + + @ja3_fingerprint.setter + def ja3_fingerprint(self, value: Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs']]): + pulumi.set(self, "ja3_fingerprint", value) + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional[pulumi.Input['WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs']]: @@ -29326,6 +30426,28 @@ def __init__(__self__): pass +@pulumi.input_type +class WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs: + def __init__(__self__, *, + fallback_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> pulumi.Input[str]: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @fallback_behavior.setter + def fallback_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "fallback_behavior", value) + + @pulumi.input_type class WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/wafv2/outputs.py b/sdk/python/pulumi_aws/wafv2/outputs.py index b21f8b6cdf3..9bc0d3b96fe 100644 --- a/sdk/python/pulumi_aws/wafv2/outputs.py +++ b/sdk/python/pulumi_aws/wafv2/outputs.py @@ -45,6 +45,7 @@ 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -90,6 +91,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -116,6 +118,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -135,6 +138,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAll', @@ -154,6 +158,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAll', @@ -173,6 +178,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -192,6 +198,7 @@ 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -211,6 +218,7 @@ 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -230,6 +238,7 @@ 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAll', @@ -249,6 +258,7 @@ 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAll', @@ -268,6 +278,7 @@ 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -287,6 +298,7 @@ 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPattern', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll', + 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPattern', 'RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -356,6 +368,7 @@ 'WebAclRuleStatementByteMatchStatementFieldToMatchHeader', 'WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -423,6 +436,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -449,6 +463,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -468,6 +483,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAll', @@ -487,6 +503,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAll', @@ -506,6 +523,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -525,6 +543,7 @@ 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeader', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -565,6 +584,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -591,6 +611,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -610,6 +631,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAll', @@ -629,6 +651,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAll', @@ -648,6 +671,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -667,6 +691,7 @@ 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -686,6 +711,7 @@ 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeader', 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -705,6 +731,7 @@ 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternAll', @@ -742,6 +769,7 @@ 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeader', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyMatchPatternAll', @@ -761,6 +789,7 @@ 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeader', 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -780,6 +809,7 @@ 'WebAclRuleStatementXssMatchStatementFieldToMatchHeader', 'WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPattern', 'WebAclRuleStatementXssMatchStatementFieldToMatchHeaderMatchPatternAll', + 'WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPattern', 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyMatchPatternAll', @@ -1986,6 +2016,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -2013,6 +2045,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchQueryString'] = None, @@ -2039,6 +2072,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -2084,6 +2119,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementByteMatchS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody']: @@ -2425,6 +2465,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementByteMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -3884,6 +3959,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -3911,6 +3988,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString'] = None, @@ -3937,6 +4015,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -3982,6 +4062,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody']: @@ -4323,6 +4408,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -4873,6 +4993,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -4900,6 +5022,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString'] = None, @@ -4926,6 +5049,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -4971,6 +5096,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody']: @@ -5312,6 +5442,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -5592,6 +5757,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -5619,6 +5786,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString'] = None, @@ -5645,6 +5813,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -5690,6 +5860,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody']: @@ -6031,6 +6206,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): @staticmethod @@ -6324,6 +6534,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -6351,6 +6563,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString'] = None, @@ -6377,6 +6590,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -6422,6 +6637,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody']: @@ -6763,6 +6983,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody(dict): @staticmethod @@ -7032,6 +7287,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -7059,6 +7316,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString'] = None, @@ -7085,6 +7343,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -7130,6 +7390,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody']: @@ -7471,6 +7736,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -7740,6 +8040,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -7767,6 +8069,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString'] = None, @@ -7793,6 +8096,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -7838,6 +8143,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRateBasedS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody']: @@ -8179,6 +8489,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -8461,6 +8806,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -8488,6 +8835,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchQueryString'] = None, @@ -8514,6 +8862,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -8559,6 +8909,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRegexMatch """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody']: @@ -8900,6 +9255,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRegexMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -9180,6 +9570,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -9207,6 +9599,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString'] = None, @@ -9233,6 +9626,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -9278,6 +9673,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementRegexPatte """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody']: @@ -9619,6 +10019,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): @staticmethod @@ -9912,6 +10347,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -9939,6 +10376,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchQueryString'] = None, @@ -9965,6 +10403,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -10010,6 +10450,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementSizeConstr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody']: @@ -10351,6 +10796,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementSizeConstraintStatementFieldToMatchJsonBody(dict): @staticmethod @@ -10620,6 +11100,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -10647,6 +11129,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchQueryString'] = None, @@ -10673,6 +11156,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -10718,6 +11203,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementSqliMatchS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody']: @@ -11059,6 +11549,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementSqliMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -11328,6 +11853,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -11355,6 +11882,7 @@ def __init__(__self__, *, body: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchQueryString'] = None, @@ -11381,6 +11909,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -11426,6 +11956,11 @@ def headers(self) -> Optional[Sequence['outputs.RuleGroupRuleStatementXssMatchSt """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint']: + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody']: @@ -11767,6 +12302,41 @@ def __init__(__self__): pass +@pulumi.output_type +class RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleGroupRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + The match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class RuleGroupRuleStatementXssMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -14059,6 +14629,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -14086,6 +14658,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchQueryString'] = None, @@ -14097,6 +14670,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementByteMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementByteMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementByteMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementByteMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementByteMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementByteMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementByteMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -14112,6 +14686,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -14157,6 +14733,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementByteMatchStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody']: @@ -14498,6 +15082,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementByteMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -17127,6 +17746,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -17154,6 +17775,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString'] = None, @@ -17165,6 +17787,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -17180,6 +17803,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -17225,6 +17850,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody']: @@ -17566,6 +18199,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -18112,6 +18780,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -18139,6 +18809,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString'] = None, @@ -18150,6 +18821,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -18165,6 +18837,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -18210,6 +18884,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody']: @@ -18551,6 +19233,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -18827,6 +19544,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -18854,6 +19573,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString'] = None, @@ -18865,6 +19585,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -18880,6 +19601,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -18925,6 +19648,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody']: @@ -19267,40 +19998,75 @@ def __init__(__self__): @pulumi.output_type -class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "matchPattern": - suggest = "match_pattern" - elif key == "matchScope": - suggest = "match_scope" - elif key == "invalidFallbackBehavior": - suggest = "invalid_fallback_behavior" - elif key == "oversizeHandling": - suggest = "oversize_handling" + if key == "fallbackBehavior": + suggest = "fallback_behavior" if suggest: - pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody.__key_warning(key) + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody.__key_warning(key) + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - match_pattern: 'outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', - match_scope: str, - invalid_fallback_behavior: Optional[str] = None, - oversize_handling: Optional[str] = None): + fallback_behavior: str): """ - :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs' match_pattern: The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `included_paths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. - :param str match_scope: The parts of the JSON to match against using the `match_pattern`. Valid values are `ALL`, `KEY` and `VALUE`. - :param str invalid_fallback_behavior: What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. - :param str oversize_handling: What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchPattern": + suggest = "match_pattern" + elif key == "matchScope": + suggest = "match_scope" + elif key == "invalidFallbackBehavior": + suggest = "invalid_fallback_behavior" + elif key == "oversizeHandling": + suggest = "oversize_handling" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + match_pattern: 'outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPattern', + match_scope: str, + invalid_fallback_behavior: Optional[str] = None, + oversize_handling: Optional[str] = None): + """ + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyMatchPatternArgs' match_pattern: The patterns to look for in the JSON body. You must specify exactly one setting: either `all` or `included_paths`. See [JsonMatchPattern](https://docs.aws.amazon.com/waf/latest/APIReference/API_JsonMatchPattern.html) for details. + :param str match_scope: The parts of the JSON to match against using the `match_pattern`. Valid values are `ALL`, `KEY` and `VALUE`. + :param str invalid_fallback_behavior: What to do when JSON parsing fails. Defaults to evaluating up to the first parsing failure. Valid values are `EVALUATE_AS_STRING`, `MATCH` and `NO_MATCH`. + :param str oversize_handling: What to do if the body is larger than can be inspected. Valid values are `CONTINUE` (default), `MATCH` and `NO_MATCH`. """ pulumi.set(__self__, "match_pattern", match_pattern) pulumi.set(__self__, "match_scope", match_scope) @@ -19555,6 +20321,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -19582,6 +20350,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString'] = None, @@ -19593,6 +20362,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -19608,6 +20378,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -19653,6 +20425,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody']: @@ -19994,6 +20774,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody(dict): @staticmethod @@ -20259,6 +21074,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -20286,6 +21103,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString'] = None, @@ -20297,6 +21115,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -20312,6 +21131,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -20357,6 +21178,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody']: @@ -20698,6 +21527,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -20963,6 +21827,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -20990,6 +21856,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString'] = None, @@ -21001,6 +21868,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -21016,6 +21884,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -21061,6 +21931,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementManagedRuleGr """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody']: @@ -21402,6 +22280,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -22605,6 +23518,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -22632,6 +23547,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryString'] = None, @@ -22643,6 +23559,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -22658,6 +23575,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -22703,6 +23622,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody']: @@ -23044,6 +23971,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementByteMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -23590,6 +24552,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -23617,6 +24581,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryString'] = None, @@ -23628,6 +24593,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -23643,6 +24609,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -23688,6 +24656,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody']: @@ -24029,6 +25005,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -24305,6 +25316,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -24332,6 +25345,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryString'] = None, @@ -24343,6 +25357,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -24358,6 +25373,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -24403,6 +25420,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody']: @@ -24744,6 +25769,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): @staticmethod @@ -25033,6 +26093,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -25060,6 +26122,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryString'] = None, @@ -25071,6 +26134,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -25086,6 +26150,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -25131,6 +26197,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody']: @@ -25472,6 +26546,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatchJsonBody(dict): @staticmethod @@ -25737,6 +26846,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -25764,6 +26875,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryString'] = None, @@ -25775,6 +26887,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -25790,6 +26903,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -25835,6 +26950,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody']: @@ -26176,6 +27299,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -26441,6 +27599,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -26468,6 +27628,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryString'] = None, @@ -26479,6 +27640,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -26494,6 +27656,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -26539,6 +27703,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRateBasedStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody']: @@ -26880,6 +28052,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRateBasedStatementScopeDownStatementXssMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -27158,6 +28365,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -27185,6 +28394,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchQueryString'] = None, @@ -27196,6 +28406,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRegexMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRegexMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -27211,6 +28422,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -27256,6 +28469,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRegexMatchSta """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody']: @@ -27597,6 +28818,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRegexMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRegexMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -27873,6 +29129,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -27900,6 +29158,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryString'] = None, @@ -27911,6 +29170,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -27926,6 +29186,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -27971,6 +29233,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementRegexPatternS """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody']: @@ -28312,6 +29582,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementRegexPatternSetReferenceStatementFieldToMatchJsonBody(dict): @staticmethod @@ -29289,6 +30594,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -29316,6 +30623,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryString'] = None, @@ -29327,6 +30635,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementSizeConstraintStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementSizeConstraintStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -29342,6 +30651,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -29387,6 +30698,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementSizeConstrain """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody']: @@ -29728,6 +31047,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementSizeConstraintStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementSizeConstraintStatementFieldToMatchJsonBody(dict): @staticmethod @@ -29993,6 +31347,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -30020,6 +31376,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchQueryString'] = None, @@ -30031,6 +31388,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementSqliMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -30046,6 +31404,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -30091,6 +31451,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementSqliMatchStat """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody']: @@ -30432,6 +31800,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementSqliMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementSqliMatchStatementFieldToMatchJsonBody(dict): @staticmethod @@ -30697,6 +32100,8 @@ def __key_warning(key: str): suggest = None if key == "allQueryArguments": suggest = "all_query_arguments" + elif key == "ja3Fingerprint": + suggest = "ja3_fingerprint" elif key == "jsonBody": suggest = "json_body" elif key == "queryString": @@ -30724,6 +32129,7 @@ def __init__(__self__, *, body: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchBody'] = None, cookies: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchCookies'] = None, headers: Optional[Sequence['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchHeader']] = None, + ja3_fingerprint: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint'] = None, json_body: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody'] = None, method: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchMethod'] = None, query_string: Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchQueryString'] = None, @@ -30735,6 +32141,7 @@ def __init__(__self__, *, :param 'WebAclRuleStatementXssMatchStatementFieldToMatchBodyArgs' body: Inspect the request body, which immediately follows the request headers. See `body` below for details. :param 'WebAclRuleStatementXssMatchStatementFieldToMatchCookiesArgs' cookies: Inspect the cookies in the web request. See `cookies` below for details. :param Sequence['WebAclRuleStatementXssMatchStatementFieldToMatchHeaderArgs'] headers: Inspect the request headers. See `headers` below for details. + :param 'WebAclRuleStatementXssMatchStatementFieldToMatchJa3FingerprintArgs' ja3_fingerprint: Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. :param 'WebAclRuleStatementXssMatchStatementFieldToMatchJsonBodyArgs' json_body: Inspect the request body as JSON. See `json_body` for details. :param 'WebAclRuleStatementXssMatchStatementFieldToMatchMethodArgs' method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform. :param 'WebAclRuleStatementXssMatchStatementFieldToMatchQueryStringArgs' query_string: Inspect the query string. This is the part of a URL that appears after a `?` character, if any. @@ -30750,6 +32157,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cookies", cookies) if headers is not None: pulumi.set(__self__, "headers", headers) + if ja3_fingerprint is not None: + pulumi.set(__self__, "ja3_fingerprint", ja3_fingerprint) if json_body is not None: pulumi.set(__self__, "json_body", json_body) if method is not None: @@ -30795,6 +32204,14 @@ def headers(self) -> Optional[Sequence['outputs.WebAclRuleStatementXssMatchState """ return pulumi.get(self, "headers") + @property + @pulumi.getter(name="ja3Fingerprint") + def ja3_fingerprint(self) -> Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint']: + """ + Inspect the JA3 fingerprint. See `ja3_fingerprint` below for details. + """ + return pulumi.get(self, "ja3_fingerprint") + @property @pulumi.getter(name="jsonBody") def json_body(self) -> Optional['outputs.WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody']: @@ -31136,6 +32553,41 @@ def __init__(__self__): pass +@pulumi.output_type +class WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fallbackBehavior": + suggest = "fallback_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebAclRuleStatementXssMatchStatementFieldToMatchJa3Fingerprint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fallback_behavior: str): + """ + :param str fallback_behavior: Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + pulumi.set(__self__, "fallback_behavior", fallback_behavior) + + @property + @pulumi.getter(name="fallbackBehavior") + def fallback_behavior(self) -> str: + """ + Match status to assign to the web request if the request doesn't have a valid IP address in the specified position. Valid values include: `MATCH` or `NO_MATCH`. + """ + return pulumi.get(self, "fallback_behavior") + + @pulumi.output_type class WebAclRuleStatementXssMatchStatementFieldToMatchJsonBody(dict): @staticmethod diff --git a/upstream b/upstream index 445605f7431..734f2ed53de 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 445605f7431531a0b9697bfcc96061cb9490b2d7 +Subproject commit 734f2ed53de70ba881150e5ccc8e7282448ab615